Flutter 仅在省道/颤振中使用十进制数字

Flutter 仅在省道/颤振中使用十进制数字,flutter,dart,Flutter,Dart,我有一个数字,我只想取小数部分,并将其转换为具有一定精度的整数 我怎样才能用飞镖语言或颤振语言做到这一点 例如: 将此247.64646122587197转换为此6464 删除浮点数,只取4位小数,然后将其转换为整数。类似的操作应该可以: ((x%1)*pow(10,4)).floor() 您可以尝试以下方法: return(247.64646122587197*10000).toInt()%10000您也可以这样做 void main() { final double abc=247.

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

我怎样才能用飞镖语言或颤振语言做到这一点

例如:

将此
247.64646122587197
转换为此
6464


删除浮点数,只取4位小数,然后将其转换为整数。

类似的操作应该可以:

((x%1)*pow(10,4)).floor()
您可以尝试以下方法:


return(247.64646122587197*10000).toInt()%10000

您也可以这样做

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

输出:6464

不是特定于dart的,但
地板((x%1)*10000)
技术上可行,但效率极低。对于少于4位小数的数字,这也会引发异常。根据经验,除非绝对必要,否则不应将数字转换为字符串(如果你最终只是将其转换回来,你最好有一个非常好的理由这样做)。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效-
double value = 247.64646122587197;
double decimalValue = value - value.toInt();
print(decimalValue.toStringAsFixed(4))