我正在编写一个简单的字符串乘法程序。代码是 -
void main() {
String str1 = "175547878787788";
String str2 = "175547878787788";
int sum = 0, k = 1;
for( var i = str1.length - 1; i>=0; i--){
var val1 = num.tryParse(str1[i]) * k;
k *= 10;
var d = 1;
for(var j = str2.length - 1; j >=0; j--){
var val2 = num.tryParse(str2[j]) * d;
d *= 10;
sum += val1 * val2;
}
}
print(sum);
}
当我打印结果总和时,它正在打印如下
3.0817057746891913e+28
我想将其打印为一个大字符串,从数字中删除e。预先感谢。
为此,您可以使用INTL软件包。但是,您说您正在使用Dartpad,我认为您不能在Dartpad中导入包装。
这是我刚刚在本地计算机中尝试的DART命令行应用程序:
pubspec.yaml
name: dartplay
description: A sample command-line application.
environment:
sdk: '>=2.2.0 <3.0.0'
dependencies:
intl: ^0.15.8 #THIS IS THE LIBRARY
dev_dependencies:
pedantic: ^1.0.0
test: ^1.0.0
main.dart
import 'package:intl/intl.dart';
void main() {
final bigNumber = 3.0817057746891913e+28;
print(NumberFormat.compactLong().format(bigNumber));
print(NumberFormat.decimalPattern().format(bigNumber));
}
输出
30800000000000000 trillion
30,817,057,746,891,914,240,000,000,000
我希望其中一项为您服务。