将字符串格式化为1个小数位,不向上/向下舍入

mar*_*nes 2 c# string

我想要一个传递整数的函数,如果该整数超过某个值(在我当前的情况下为1000),我想对它执行一些除法,这样我最终可以返回原始整数的缩写.

例如:

1000 = 1
1001 = 1
1099 = 1
1100 = 1.1
1199 = 1.1
1200 = 1.2
10000 = 10
10099 = 10
10100 = 10.1
Run Code Online (Sandbox Code Playgroud)

这是导致我出现问题的事情的分裂和四边形.

什么是最合适的方法给我上面的结果?

Jon*_*eet 6

怎么样:

int dividedBy100 = x / 100; // Deliberately an integer division
decimal dividedBy1000 = dividedBy100 / 10m; // Decimal division
string result = dividedBy1000.ToString();
Run Code Online (Sandbox Code Playgroud)

我建议decimal在这里使用而不是float或者double,因为你从根本上要求十进制除以10.