我知道这可能是一个重复的问题,对此我很抱歉。我一直在寻找一种格式化自定义字符串的方法,即从 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;
}
更节省货币的数据类型是
decimal
。
因此,将数据保留为十进制,并在需要时将其转换为字符串:
decimal price = 123456.4444m;
Sort_List[i].DollarsOpen = $"{price:C}";