我有一个包含两个colums类型货币的列表。我希望能够读取这个字段中的小数位和包含的currecy符号的值。获取货币列表项目值
我已经尝试了三种不同的方法,但我似乎只能得到数字而不是currecny符号。还有十进制值没有正确显示。使用小数类型的列是“InstallCosts”和“RentalCosts”。
foreach (SPListItem item in listItemCollection)
{
try
{
string MPLS;
if ((bool)item["MPLS"])
MPLS = "Yes";
else
MPLS = "No";
//Conversion 1
double installCost;
bool convert1 = double.TryParse(item["InstallCosts"].ToString(), out installCost);
double rentalCost;
bool convert2 = double.TryParse(item["RentalCosts"].ToString(), out rentalCost);
//Conversion 2
string install = item["InstallCosts"].ToString();
double installConverted = double.Parse(install, NumberStyles.Currency,
CultureInfo.CurrentCulture.NumberFormat);
//Conversion 3
//string converThis = String.Format("[0:c}", (string)item["InstallCosts"]);
string results56 = (string)item["Title"] + " " + (string)item["DefinedFor"] + " " +
"<b>MPLS:</b> " + MPLS + "<br/>" + "<b>Max Downstream:</b> " +
(string)item["MaxDownstream"] + "<br/>" + "Install Cost:" + converThis + "<br/>"
+ "Rental Cost (p.a.):" + rentalCost + "<br/>";
AvailabilityCheckerResultsTwo.Controls.Add(new LiteralControl(results56));
}
结果如下:CCTV第三方远程访问互动模式和网站测试:
羊驼脏的ADSL产品。 MPLS:没有 最大下行: 安装成本:50 租金成本(PA):425.7
为 “安装费用” 的resuts应该是:£50.00 的 “租金” 的结果应该是:£425.70
我一直在困扰这个问题一天,将不胜感激任何援助其可能是我失踪的东西,但我真的不能看到什么!
非常感谢,
切勿使用双重货币,您将开始看到因处理精度而产生的细微损失。仅使用小数。 – OmegaMan 2011-12-19 15:43:16
'double less = 0.3;双倍多= 0.4; double diff = 0.1;返回更多 - 少==差异; // false!' – ANeves 2011-12-19 15:48:56