如何检查十进制值的小数点是否不超过2位
本文关键字:小数点 是否 不超过 2位 十进制 何检查 检查 | 更新日期: 2023-09-27 18:13:33
我有一个方法如下:
public bool IsValid(decimal rate)
{
//
}
比率可以在0.00和99.99之间,它不应该包含超过2位的小数点,否则会抛出异常。
如何检查一个十进制值的小数点是否不大于2 ?例如:99.123是无效的,而99.12是有效的。
如何:
return decimal.Round(rate, 2) == rate;
请注意,对于100.000m,这仍然会返回true,这是与100.000m不同的值,并且如果调用ToString
,将显示所有三个十进制数字。
public bool IsValid(decimal rate)
{
return rate%0.01m == 0;
}
如果rate modulo 0.01为0(如果小数只包含一个或两个小数点),则返回true。小数点后三位以上将返回false(除非第三位是0,在这种情况下EX: 2.220将返回true)。我不确定你打算使用这个,但如果这是一个可接受的失败情况下,这将工作。
public bool IsValid(decimal rate){
int temp = rate * 100;
decimal temp2 = temp / (decimal)100;
return temp2 == rate;
}
Dim s.myscript As String
dim text_value as double = "12.345"
s = text_value.ToString
' Split string based on dot
words = s.Split(New Char() {"."c})
'if array contain decimal
If words.Length > 1 Then
If (words(1).Length > 2) = True Then
myscript = "<script language='javascript'>alert('Please enter 2 decimal places only!');</script>"
Page.ClientScript.RegisterStartupScript(Me.GetType(), "onclick", myscript)
Exit Sub
End If
End If