C#: Storing percentages, 50 or 0.50?

六月ゝ 毕业季﹏ 提交于 2019-12-04 00:13:16

I would be inclined to store them as 0 to 1, then there is no coversion required when using the number in a calculation.

Using a number between 0 and 100 is more of a display / readbility way of looking at the number. When you are displaying the percentage you can use String.Format("{0:P},percentage) which will expect the number to be between 0 and 1 but will display as 0 to 100.

If you are using floating point fields (float, decimal, double), then 50.0 and 0.50 will have the same degree of precision. So, from this point, I would make decisions based on what similar fields in similar tables do, to give a sense of design unity.

If you are doing a lot of math with fractions, you want to store the numerator and denominator separately as whole numbers. When using fractions to represent repeating or non-repeating decimals you can get rounding errors that grow the more operations you have.

If you are just storing and presenting the number, then it really doesn't matter.

What math do you plan to do with this number, if any?

You can use doubles to represent both percentages and 0-1. But if you choose to store percentage as "whole number" I would advise against using integers, which would limit you if you ever want to represent 12.3%, for example.

I think this is trivial... both are the same

I mean in terms of calculations/displaying info...

00.50 is cool for calculations

50.00 is cool for displaying
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!