In c# double type how can i set the number of digits after the point, i need only 4. thank you.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You can't. Binary floating point doesn't work like that. You can format a double that way (e.g. using "f4"
as the format string), but if you're dealing with values which have a natural number of decimal places, then you should probably be using decimal
instead. Could you give us more information about what your values represent?
回答2:
You can't set the number of digits after the point on the double directly.
You can change the string representation of the double using a format string.
One example would be:
string.Format("{0:0.####}", number);
Or as Jon Skeet points out:
number.ToString("f4")
回答3:
Use this to compare two floating point numbers to 4 digits in the fraction:
if (Math.Abs(a - b) < 1E-4) {
// close enough
//...
}