分割整数并将其值相加

  • 本文关键字:整数 分割 flutter dart
  • 更新时间 :
  • 英文 :


假设我有一个变量a = 12345,我想把a分割成[1,2,3,4,5],然后像[1+2+3+4+5]那样把它们相加,最后我想得到a = 15的结果,我怎么能做到这一点?

你所要做的就是依次递归地把每个数字加起来。

void main() {

int a = 12345; 
int sum = 0; 
while(a>0){
sum  = sum + (a%10); 
a = (a/10).floor(); 
}  
print(sum);
//if u want to store in a 
a = sum;
}

有不同的方法可以实现相同的功能,其中一种方法如下:

void main() {
int num = 12345;
int sum = 0;

String numAsString = num.toString();
for (int i = 0; i < numAsString.length; i++) {
sum += int.parse(numAsString[i]);
}

print(sum); // 15
}

您可以使用split()作为

void main(){
var i=34567;
var iStr=i.toString().split('');
var exp= iStr.join('+');
var sum=iStr.fold(0,(a,b)=>int.parse(a.toString())+int.parse(b));
print(exp);
print(sum);  
}

输出:3 + 4 + 5 + 6 + 725如果只需要整数的和,则

void main() {
var i = 34567;
var iStr = i.toString().split('');
var sum = iStr.fold(0, (a, b) => int.parse(a.toString()) + int.parse(b));
print(sum);
}

我将首先将整数转换为字符串来处理它。然后将每个字符映射为int型,最后简单地将int型迭代器归约为sum。

int num = 12345;
print(num
.toString()
.split('')
.map(
(c) =>int.parse(c)
).reduce((a,b) => a+b));

最新更新