单击按钮时采用(“###.##”)格式的文本格式

Text formating in ("###.##") format on button click

我有一个文本块,用户单击按钮时会显示所有文本。

XAML

<TextBlock x:Name="TextDisplay" TextAlignment="Center"
                       Style="{StaticResource PhoneTextTitle1Style}" />


<Button Style="{StaticResource MyButtonStyle}" Content="1" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="2" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="3" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="4" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="5" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="6" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="7" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="8" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="9" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="0" Click="Number_Click" />

而且我希望当用户单击按钮内容时在文本块中显示按钮内容,但仅限于这种有限格式(“###.##”)。

C#

    private void Number_Click(object sender, RoutedEventArgs e)
    {
        Button b = (Button)sender;
        TextDisplay.Text += b.Content.ToString("###.##");
    }

但是当我擦除“###.##”代码时 ToString 显示错误,但按钮可以无限点击。

平台:windows phone silverlight 应用程序 /c# 如果有人知道以“###.##”这种有限格式在文本块中显示文本,请提供帮助。

你可以使用

String.Format("{0:000.00}", value);

喜欢

TextDisplay.Text += String.Format("{0:000.00}", b.Content);

The "0" custom format specifier 用作零占位符。如果正在格式化的值在格式字符串中出现零的位置有一个数字,则将该数字复制到结果字符串;否则,结果字符串中会出现一个零。小数点前最左边的零和小数点后最右边的零的位置决定了结果字符串中始终存在的数字范围。

内容不是数值而是字符串(content = "1")

因此,如果您想要特定的数字格式,如“###.##”,您应该将字符串“1”转换为数字类型:

double.Parse(b.Content.ToString()).ToString("###.##")

那么你的格式就可以了。

您可能需要“000.00”而不是“###.##”?