如何将自定义列表中的字符串值格式化为货币格式?

问题描述 投票:0回答:1

我知道这可能是一个重复的问题,对此我很抱歉。我一直在寻找一种格式化自定义字符串的方法,即从 SQL 数据库中提取值。我读过很多S.O.关于格式化,但没有一个起作用。

理想情况下,我希望字符串值接近 $999,888,432.23 (该值只是一个占位符)。

下面是我尝试格式化此字符串值的方法之一,我只是不明白为什么有 0 个更改。

当前字符串值输出类似于 5921.1500000000(例如;我试图删除始终有 5-10 个尾随 0)。

如果您需要更多信息,请告诉我。

for (int i = 0; i < Sort_List.Count; i++)
{
    Sort_List[i].DollarsOpen = string.Format("{0:0.00}", Sort_List[i].DollarsOpen);
}

更新1:以下是来自数据库的所有转换后的数据类型。最初 DollarsOpen 是小数

public class JTPosOpen
{
    public string PoDate;
    public string VendorNo;
    public string Vendor;
    public string PONumber;
    public string POLine;
    public string QtyOrdered;
    public string QtyReceived;
    public string QtyRemaining;
    public string UOM;
    public string ExpUnitCost;
    public string DollarsOpen;
    public string GLAcct;
    public string GLCtr;
    public string JobNo;
    public string ItemNo;
    public string Desc1;
    public string Desc2;
    public string RequestDate;
}
c# asp.net-mvc string-formatting
1个回答
0
投票

更节省货币的数据类型是

decimal

因此,将数据保留为十进制,并在需要时将其转换为字符串:

decimal price = 123456.4444m;
Sort_List[i].DollarsOpen = $"{price:C}";
© www.soinside.com 2019 - 2024. All rights reserved.