I’m making a small tip calculator for the Windows Phone 7 and I’m almost done:

I’m having trouble getting the trailing decimals places to do what I want though. I want to display the result with only two values after the comma. Any suggestions? Here’s my code:
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;
}
You should use currency formatting:
For your example, the result would be “$18.90”. The benefit of this approach is that the result will be properly localized as well (e.g. some currencies have comma separators instead of “.”).
Additionally, if you want to localize the “$” symbol in your UI, you can use
NumberFormatInfo.CurrentInfo.CurrencySymbol.