仅在 dart/flutter 中取十进制数

Ahm*_*ama 3 dart flutter

我有一个数字,我只想取小数部分并将其转换为具有一定精度的整数。

我怎样才能在 Dart 语言或颤振中做到这一点?

例如 :

把这个 247.64646122587197 变成这个 6464

去掉浮点数,只取 4 位小数并将其转换为整数。

Bra*_*yer 8

这样的事情应该工作:

((x % 1) * pow(10, 4)).floor()
Run Code Online (Sandbox Code Playgroud)


Aru*_*tap 5

你也可以这样做

void main() {
    final double abc=247.64646122587197;
    int y = int.tryParse(abc.toString().split('.')[1].substring(0,4));
    print(y);
}
Run Code Online (Sandbox Code Playgroud)

输出:6464

  • 从技术上讲是可行的,但效率非常低。对于小数位数少于 4 位的数字,这也会引发异常。根据经验,除非绝对必要,否则不应将数字转换为字符串(如果您最终打算将其转换回来,最好有充分的理由这样做)。 (5认同)