簡體   English   中英

比較用戶的十進制輸入與c#十進制數量

[英]Comparing user's decimal input with c# decimal amount

我們將貨幣/貨幣金額存儲在數據庫中,如小數點后的四位數:例如12.8665

假設我在c#中有一個Order類,它有兩個屬性:

decimal TotalAmountDue;
decimal UserInput.

網頁上的所有金額都顯示為totalAmountDue.toFixed(2) 這意味着向用戶顯示12.87 用戶在Web表單上鍵入數字12.87 當我在c# UserInput >= TotalAmountDue進行比較時,它當然不會返回true,因為在c#中沒有執行相當於toFixed轉換。

Q1。 如何進行轉換,以便比較兩位小數?

Q2。 因為我們只向用戶顯示2,所以在db中以十進制形式存儲4位數這是一個壞主意嗎?

你可以簡單地將小數點四舍五入到兩位數

Math.Round(fourDigitDecimal, 2)

然后將它與你的兩位小數進行比較。

利用

 Math.Round(yourValue, 2, MidpointRounding.AwayFromZero)

除非貨幣。

如果您只需要2個小數位,那么為什么要存儲更多。 除非貨幣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM