C#:存储百分比,50还是0.50?

时间:2010-07-21 21:49:00

标签: c# types decimal

当在变量中保持百分比值时,在将它们保持为整数与分数之间存在偏好。那个变量应该保持0到100之间或0.00到1.00之间的数字吗?在任何一种情况下,保存值的变量都是十进制类型。

我正在与之交互的数据库恰好将它们存储为0到100的整数。

注意:我使用“整数”这个词来表示0到100范围内的值,尽管这些值可能包含小数分量(例如25.75)。我不知道如何描述两个百分比值范围之间的区别

5 个答案:

答案 0 :(得分:26)

我倾向于将它们存储为0到1,然后在计算中使用数字时不需要转换。

使用0到100之间的数字更多是查看数字的显示/可读性方式。当您显示百分比时,您可以使用String.Format("{0:P},percentage) 预计数字介于0和1之间,但会显示为0到100。

答案 1 :(得分:3)

如果使用浮点字段(float,decimal,double),则50.0和0.50将具有相同的精度。所以,从这一点来说,我会根据类似表格中的类似字段做出决定,以给出设计统一感。

答案 2 :(得分:0)

如果你在分数上做了很多数学运算,你想分别将分子和分母存储为整数。当使用分数来表示重复或非重复小数时,您可以获得舍入错误,从而增加您拥有的更多操作。

如果您只是存储和显示号码,那么这无关紧要。

如果有这个数字,你打算用什么数学计算?

答案 3 :(得分:0)

您可以使用双打来表示百分比和0-1。但是如果你选择将百分比存储为“整数”,我建议不要使用整数,例如,如果你想要代表12.3%,这会限制你。

答案 4 :(得分:0)

我认为这是琐碎的 ...两者都是相同的

我的意思是在计算/显示信息......

00.50 is cool for calculations

50.00 is cool for displaying