![](/img/trans.png)
[英]Why my handleChange method does not format the user's input with decimal numbers?
[英]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.