我正在为Windows Phone 7制作一个小小的计算器,我差不多完成了:
我无法获得尾随小数位数来做我想要的事情。我想在逗号后面只显示两个值的结果。有什么建议?这是我的代码:
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;
}
答案 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
对数字进行舍入。