0

我有一个文本块,其中所有文本都显示在用户单击按钮上。

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 app /c# 帮助,如果有人知道以“###.##”这种有限格式在文本块中显示文本。

4

2 回答 2

1

您可以使用

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

喜欢

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

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

于 2016-10-26T07:38:36.677 回答
1

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

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

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

然后您的格式将起作用。

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

于 2016-10-26T07:45:46.197 回答