从乘法程序的结果数中删除指数'e'



我正在编写一个简单的字符串乘法程序。代码是 -

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

我希望其中一项为您服务。

最新更新