3
A
回答
3
其实我觉得它更容易去truncateToDouble()
和toStringAsFixed()
,而不是使用NumberFormat
都:
n.toStringAsFixed(n.truncateToDouble() == n ? 0 : 2);
因此,例如:
main() {
double n1 = 15.00;
double n2 = 15.50;
print(format(n1));
print(format(n2));
}
String format(double n) {
return n.toStringAsFixed(n.truncateToDouble() == n ? 0 : 2);
}
打印到控制台:
15
15.50
4
编辑:发表马丁的解决方案作用似乎是一个更好的
我不认为这是可以直接完成。你最有可能需要的东西是这样的:
final f = new NumberFormat("###.00");
String format(num n) {
final s = f.format(n);
return s.endsWith('00') ? s.substring(0, s.length - 3) : s;
}
0
不太容易。解读你想要什么作为印刷零位小数,如果它是一个整数值,刚好两个,如果它是一个浮动,你可以做
var forInts = new NumberFormat();
var forFractions = new NumberFormat();
forFractions.minimumFractionDigits = 2;
forFractions.maximumFractionDigits = 2;
format(num n) =>
n == n.truncate() ? forInts.format(n) : forFractions.format(n);
print(format(15.50));
print(format(15.0));
但是,除非你想要的结果打印出来的效果对于有使用NumberFormat的这个小的优势不同的地区。
相关问题
- 1. 飞镖Web_Audio飞镖1.6
- 2. 飞镖中的飞镖websocket:io and dart:html
- 3. 与飞镖PointerLock
- 4. 飞镖:干将
- 5. 飞镖基准?
- 6. @飞镖代码
- 7. 飞镖中的urlencoding
- 8. 使用没有飞镖编辑器的飞镖问题
- 9. JSON_OBJECT和飞镖:镜
- 10. 导入飞镖包
- 11. 造型和飞镖
- 12. 飞镖:长计算
- 13. 飞镖库布局
- 14. 有使用飞镖
- 15. 飞镖EventSource错误
- 16. 飞镖角剑道
- 17. net :: ERR_UNSAFE_PORT在飞镖
- 18. 的NodeJS http.get的飞镖
- 19. 使用飞镖动态加载飞镖脚本
- 20. 在飞镖编辑器中自动生成飞镖
- 21. 飞镖没有飞镖编辑器:刷新
- 22. 飞镖深处的Urlencode
- 23. 飞镖中的关机钩?
- 24. 飞镖中的PUT请求
- 25. 飞镖嘲讽的Stream
- 26. 飞镖中的Channel原始?
- 27. 飞镖的KeyboardEvent Backspace键
- 28. 解析飞镖中的JSON
- 29. 不带鼠标的飞镖
- 30. 飞镖中的“matchMedia”支持
我不得不在这笑,因为一种语言,声称喜欢简洁 – fostandy