gpt4 book ai didi

c# - 截断第一个正数以外的小数

转载 作者:太空宇宙 更新时间:2023-11-03 20:06:33 25 4
gpt4 key购买 nike

C# - 截断第一个正数以外的小数

一个数字是0.009012
结果应该是 0.009

或者是 1.1234 并且会是 1.1
2.099 ~ 2.09等等

以快速且最佳的方式

最佳答案

数学思考,使用以 10 为底的对数

这个函数只需要第一个密码

public double RoundOnFirstDecimal(double number)
{
int shift = -1 * ((int)Math.Floor(Math.Log10(number)));
return Math.Floor(number * Math.Pow(10, shift)) / Math.Pow(10, shift);
}

但是你想这样:(只对小数部分进行移位,而不对整数进行移位)

public double RoundOnFirstDecimal(double number)
{
int shift = -1 * ((int)Math.Floor(Math.Log10(number % 1)));
return Math.Floor(number % 1 * Math.Pow(10, shift)) / Math.Pow(10, shift) + number - number % 1;
}

那会比任何正则表达式或循环快得多

关于c# - 截断第一个正数以外的小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23054021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com