如何在点后删除所有数字?

时间:2010-09-19 21:46:03

标签: c# windows-phone-7

我正在为Windows Phone 7制作一个小小的计算器,我差不多完成了:

alt text

我无法获得尾随小数位数来做我想要的事情。我想在逗号后面只显示两个值的结果。有什么建议?这是我的代码:

private void btnSubmit_Click(object sender, RoutedEventArgs e)
{
    if (ValidateInputs())
    {
        lblTotalTip.Text = CalculateTip(txtTotalBill.Text, txtPercentage.Text);                
    }
}

private string CalculateTip(string Total, string Percentage)
{
    decimal totalBill = decimal.Parse(Total);
    decimal percentage = decimal.Parse(Percentage);

    string result = ((percentage / 100) * totalBill).ToString();
    return result;
}

private bool ValidateInputs()
{
    return true;
}   

3 个答案:

答案 0 :(得分:15)

您应该使用货币格式:

string result = ((percentage / 100) * totalBill).ToString("C");

对于您的示例,结果将是“$ 18.90”。这种方法的好处是结果也将被正确地本地化(例如,某些货币具有逗号分隔符而不是“。”)。

此外,如果您想在UI中本地化“$”符号,可以使用NumberFormatInfo.CurrentInfo.CurrencySymbol

答案 1 :(得分:1)

使用

    string result = ((percentage / 100) * totalBill).ToString("0.00");

答案 2 :(得分:0)

两个选项:

格式化字符串:

string.Format("{0:#####.00}", theValue)

或使用接受精度参数的Math.Round对数字进行舍入。