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

时间:2019-07-07 17:28:37

标签: flutter dart

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

<START> File1
col1,col2,col3
1,A,B 
2,C,D
<END>
<START> File2
col1,col2,col3,col4,col5
1,A,B,1,2 
2,C,D,3,4
<END>

当我打印结果总和时,打印如下

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);
}

我想将其打印为大字符串,从数字中删除e。 预先感谢。

1 个答案:

答案 0 :(得分:0)

为此,您可以使用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

我希望其中一项对您有用。