苦苦挣扎的基础知识-我正在尝试编写一个简单的货币转换器。外部源提供的XML使用逗号作为汇率(kurs_sredni)的十进制分隔符:
<pozycja>
<nazwa_waluty>bat (Tajlandia)</nazwa_waluty>
<przelicznik>1</przelicznik>
<kod_waluty>THB</kod_waluty>
<kurs_sredni>0,1099</kurs_sredni>
</pozycja>
我已经设法将数据从XML加载到一个漂亮的对象列表(kursyAktualne)中,现在我正在尝试进行数学运算。我坚持转换。
首先,我将“ kurs_sredni”分配给一个字符串,尝试将“,”替换为“”。并将其转化为地狱:
string kursS = kursyAktualne[iNa].kurs_sredni;
kursS.Replace(",",".");
kurs = Convert.ToDouble(kursS);
MessageBox.Show(kurs.ToString());
消息框显示1099,而不是预期的0.1099,并且kursS仍然带有逗号而不是点。
我用谷歌搜索了一些cultureInfo的东西,但这太随意了。我需要了解如何控制它。
最佳答案
这是因为Replace
方法返回带有替换字符的新字符串。它不会修改您的原始字符串。
因此,您需要重新分配它:
kursS = kursS.Replace(",",".");