相关疑难解决方法(0)

正则表达式匹配2位数,可选的十进制,两位数

我花了半个小时试图得到这个,也许有人可以快速拿出来.

我需要一个匹配一个或两个数字的正则表达式,后跟一个可选的decmial点,后跟一个或两个数字.

例如,它应该完整匹配这些字符串:

3
33
.3
.33
33.3
33.33

并且不匹配在decmial点之前或之后超过2位数的任何内容.

regex

36
推荐指数
4
解决办法
15万
查看次数

C#检查小数是否超过3位小数?

我有一种情况我无法改变:一个数据库表(表A)接受6个小数位,而另一个表(表B)中的相关列只有3个小数位.

我需要从A复制到B,但如果A的小数位数超过3,则额外数据将丢失.我无法更改表定义,但我可以添加一个解决方法.所以我试图找出如何检查小数是否超过3位小数?

例如

Table A
Id, Qty,  Unit(=6dp)
1,  1,     0.00025
2,  4000,  0.00025

Table B
Id, TotalQty(=3dp)
Run Code Online (Sandbox Code Playgroud)

我希望能够找出表A中的Qty*Unit是否超过3位小数(第1行会失败,第2行会通过):

if (CountDecimalPlaces(tableA.Qty * tableA.Unit) > 3)
{
    return false;
}
tableB.TotalQty = tableA.Qty * tableA.Unit;
Run Code Online (Sandbox Code Playgroud)

我该如何实现这个CountDecimalPlaces(decimal value) {}功能?

c# decimal

14
推荐指数
4
解决办法
4万
查看次数

标签 统计

c# ×1

decimal ×1

regex ×1