[英]decimal type rounding issue
所以我有一個 C# web api 端點返回一個 ZD7EFA19FBE7D3972FD5ADB602492210 十進制值。 因此,我們將其返回到 VB.NET 網絡表單應用程序中,返回結果為 49.1,即使它們都是原始類型的十進制。
真正讓這個問題變得奇怪的是我們有兩台本地機器,每台機器上都有相同的代碼,在我的機器上它返回為 49.10,但在同事機器上它返回為 49.1。
真正令人費解的情況似乎無法深究,並想知道是否有人遇到過這個並知道我錯過了什么。
C# Model是這樣的……
[DataContract(Namespace = "")]
[Serializable]
public class TestClaim
{
[DataMember(EmitDefaultValue = false)]
public decimal VoucherSupplementFirstPair { get; set; }
}
VB.NET Model是這樣的……
<Serializable()>
Public Class TestClaim
Public Property VoucherSupplementFirstPair As Decimal
End Class
我問的原因是因為它適用於一台機器而不是另一台機器,所以它可能與 windows 設置有關? 我認為CLR會處理這樣的事情。
感謝您的任何建議。
我已經使用 VB.Net 一段時間了。 對於雙/十進制,Vb 將自動截斷零,因為它們不重要。 如果要顯示 2 個小數點,請使用FormatNumber(i, x) function。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.