当显示当前小数的值时.ToString(),它精确到15个小数位,并且由于我用它来表示美元和美分,我只希望输出为2位小数.
我是否使用此变体.ToString()?
假设我的值为3.4679且想要3.46,如何在没有四舍五入的情况下截断到两位小数?
我试过以下但三个都给了我3.47:
void Main()
{
Console.Write(Math.Round(3.4679, 2,MidpointRounding.ToEven));
Console.Write(Math.Round(3.4679, 2,MidpointRounding.AwayFromZero));
Console.Write(Math.Round(3.4679, 2));
}
Run Code Online (Sandbox Code Playgroud)
这返回3.46,但看起来很脏,如何:
void Main()
{
Console.Write(Math.Round(3.46799999999 -.005 , 2));
}
Run Code Online (Sandbox Code Playgroud) 我想显示只有一个小数位.我尝试过以下方法:
string thevalue = "6.33";
thevalue = string.Format("{0:0.#}", thevalue);
Run Code Online (Sandbox Code Playgroud)
结果:6.33.但应该是6.3?即使0.0也不起作用.我究竟做错了什么?
如果我Math.Round(95.55555555,2)在VB.NET中,结果是95.56,但我想要它的结果95.55.有没有办法在VB.NET中执行此操作?我想我只是想保留小数位,但不要围绕它们
我认为非常基本的问题 - 我正在执行此功能:
private double convertMetersToFeet(double meters)
{
//function converts Feet to Meters.
double toFeet = meters;
toFeet = meters*3.2808; // official conversion rate of Meters to Feet
return toFeet;
}
Run Code Online (Sandbox Code Playgroud)
问题是输出; 例如,我从101的输入得到337.36080000000004.截断浮点的适当做法是什么?
如下面的答案所假设,我希望4个有效数字与我的转换率保持一致.
如何在点后取6个数字 - 但没有数字?
例如:
102.123456789 => 102.123456
9.99887766 => 9.998877
Run Code Online (Sandbox Code Playgroud)
在C#winforms中
thak提前