删除飞镖中的小数点

Jam*_*ner 3 dart flutter

我有一个数字:466.62 作为双精度数并且无法将其更改为字符串,如何去掉小数点并打印 46662?我设法通过将值乘以 100 得到 46662.0,但我不想打印小数点。谢谢

Tan*_*nde 6

当你成功获得这个 46662.0 后,

用这个 :

46662.0.toStringAsFixed(0);

print(46662.0.toStringAsFixed(0));-这给出了 46662

print(46662.0.toStringAsFixed(0).runtimeType);-这给出了字符串。

参考: https ://api.dart.dev/stable/2.8.4/dart-core/num/toStringAsFixed.html


Moh*_*had 5

当您将 466.62 乘以 100 时,您的最终结果也将保持为两倍。这就是您看到 46662.0.0.0 的原因。所以你需要将它转换为 Int 值,所以你应该这样做:

double vDouble = 466.62 *100
String vString = vDouble.toInt().toString();
Run Code Online (Sandbox Code Playgroud)

这会给你 4662。

对于更通用的情况,请使用 String split 方法

String str = '466.62';

//split string
var arr = str.split('.');

print(arr[0]); //will print 466
print(are[1]); //will print 62
Run Code Online (Sandbox Code Playgroud)