验证十进制小数值

时间:2019-01-17 00:32:55

标签: c#

我需要验证以十进制形式给出的一些输入数字。输入用于记录以小时为单位的时间,以及以小时为单位的小时数,例如1.25或2.50或3.00

我需要强制输入.00 .25 .50 .75的十进制小数值

我可以将十进制值转换为字符串,然后查看它具有多少个小数位以及这些值-或者-写一个Regex或类似的东西会更好吗?

瑞安

3 个答案:

答案 0 :(得分:2)

您可以检查value % 0.25 == 0

答案 1 :(得分:0)

您可以将数字乘以100,然后检查以25为模的数字是否为0。(由于被25除而没有余数的数字是X25,X50,X75,X00)

var number = 1.25;
if((number*100)%25==0) // valid
else // not valid

编辑: 或直接:

var number = 1.25;
if(number%0.25==0) // valid
else // not valid

(感谢您在评论部分中指出)

答案 2 :(得分:0)

您可以使用正则表达式^\d*\.(00|25|50|75)$