2010-07-21 65 views
11

當在變量中保持百分比值時,將它們保持爲整數與分數之間存在偏好。那應該是變量是否在0到100之間或者在0.00和1.00之間?無論哪種情況,保存值的變量都是十進制類型。C#:保存百分比,50或0.50?

我與發生在他們存儲爲整數0到100

注交互的數據庫:我使用的是「全數字」這個詞來表示範圍爲0值100,雖然這些值可能包含分數部分(例如25.75)。我不知道怎麼回事,如果你正在使用浮點字段(浮動,小數,雙)來形容百分比值

回答

25

我會傾向於將它們存儲爲0至1,那麼沒有使用在計算中的數目時,需要丁文。

使用0 100之間和一個數是多個的注視數的顯示/ readbility方式。當你顯示比例可以使用String.Format("{0:P},percentage) 將預計數爲0和1之間,但如果你正在做大量的數學與分數將顯示爲0至100

+0

已經結束。使用0-1範圍內的百分比更容易,如果您想繪製一個進度條或類似的東西,通常只會乘以另一個數字,所以實際上不會有任何重大的舍入誤差。 – mpen 2010-07-21 21:58:21

+0

0-1確實使數學更容易,並且如果你帶來一個像0這樣的值。2轉換成Excel,你只需要以百分比的形式格式化單元格,它將顯示爲20% – 2015-01-07 11:51:43

3

的兩個範圍之間的差異,那麼50.0和0.50將有相同的精確度。所以,從這個角度來說,我會根據類似表格中的類似字段做出決定,給出設計統一感。

+0

呃... ...在確切的情況下,是,但是'10.0'和'0.10'呢?根本不一樣! – mpen 2010-07-21 21:56:33

+0

... reaaaaally? – maxwellb 2010-07-21 22:02:08

+0

@Mark:你想指出什麼?不同的存儲形式將要求使用不同的數字方式。 – Karmastan 2010-07-21 22:03:32

0

,你想存儲分子和分母作爲整數。當使用分數來表示重複或非重複小數時,您可以得到四捨五入的錯誤,這會增加您擁有的更多操作。

如果你只是存放和展示次數,那麼它真的沒關係。

你打算什麼數學與這個號碼的事,如果有的話?

0

您可以使用雙打來表示百分比和0-1。但是,如果您選擇將百分比存儲爲「整數」,我會建議不要使用整數,例如,如果您想表示12.3%,則會限制您。

0

我覺得這是小事...兩者是相同

我的意思是在計算/顯示信息方面...

00.50 is cool for calculations 

50.00 is cool for displaying 
+8

它們不一樣,只是100倍! – benPearce 2010-07-21 21:59:52