【发布时间】:2021-08-22 05:13:35
【问题描述】:
我的值如下:
decimal val = 1.100;
现在我要做的是,如果我在第一个小数点值后为 0,那么我只想取 1.1 并忽略休息,如果我有 1.11,那么我想取整个 1.11
这就是我的想法:
-
将十进制转换为字符串。
-
按点分割字符串。
-
检查长度是否为 2,如果第二个位置大于 0,则取整数,如 11 作为十进制值 1.11 否则如果十进制是这样的 1.10,则取 1.1,否则在十进制 1.000 的情况下取 1.0
示例输入和输出:
1.000 // output 1.0
1.100 // output 1.1
1.110 // output 1.11
1.111 // output 1.111
1.102 // output 1.102
但这是我想避免的肮脏逻辑。没有任何内置方法或更好的方法可以做到这一点吗?
注意:我不想做任何总结。
【问题讨论】:
-
如果值为 1.1045 怎么办?你想要的这个值
-
@Blue 我只有 3 个小数位,所以它会像这样 1.104,在这种情况下我想取 1.104
标签: c#