【发布时间】:2014-04-24 23:44:57
【问题描述】:
我需要一个双精度值来包含“.”之后的 2 位数字,例如 2.15、20.15。如果输入值为 3.125,则应打印错误消息。
我的代码是:
private static bool isTwoDigits(double num)
{
return (num - Math.Floor(num)).ToString().Length <= 4;
}
如果您输入 2.15,那么它将是 2.15 -2 = 0.15 num 更改为 20.15 时,它不会,因为这里的(num - Math.Floor(num)) 将返回0.14999999999。
还有什么好主意吗?
【问题讨论】:
-
@user430788:这不是完全相同的问题。这里的问题不是如何对数字进行四舍五入,而是如何断言给定数字的小数位数。
-
@user430788 好像不一样
-
哦,很公平。然后是的,对其进行正则表达式并计算 . 之后的内容的长度