我在 C# 中使用双数有一个奇怪的问题。NET 这是我的测试:
double my_value = 0.49;
问题是显示的变量值改为 0.48999999999999999 我不需要使用Math.Round()
函数显示 0.49;我需要准确地存储这个值。
谢谢你。
欢迎使用浮点精度。decimal
如果您想要更高的精度,请使用类型。
decimal my_value = 0.49m;
如果您想了解更多关于为什么会这样的信息,我建议您阅读这篇文章 -每个计算机科学家都应该知道的关于浮点运算的知识
double
当您需要使用精确值时,请勿使用该类型。那是decimal
类型的域
decimal my_value = 0.49m;