首页 > 解决方案 > 货币符号在错误的一边

问题描述

价格显示在RichTextBox. 它接受一个double表示价格的值并将其显示为字符串。

double priceDisplayed = 0.00;
richTextBox_itemPrice.Text = priceDisplayed.ToString("C", new CultureInfo("en-AU"));

上面的代码导致价格与 RHS 上的货币一起显示:

0.00$

为什么是这样?检查类似的例子,上面的代码似乎应该在 LHS 上显示货币符号。

标签: c#.netcurrencycultureinfo

解决方案


这真的很奇怪,正如评论中提到的,你的机器上一定有一些文化冲突。

与此同时,您可以在活动中尝试这样的事情TextChanged

private void richTextBox_itemPrice_TextChanged(object sender, EventArgs e)
{
    string text = richTextBox_itemPrice.Text;
    if (richTextBox_itemPrice.Text.Contains("$")) 
    {
        text = text.Replace("$","");
    }

    richTextBox_itemPrice.Text = "$" + text;
}

并将字段初始化为richTextBox_itemPrice.Text = "$";


推荐阅读