【发布时间】:2022-08-18 20:52:03
【问题描述】:
给定以下程序 C#
using System;
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine((-2.8E-15).ToString(\"P2\"));
}
}
}
- 使用 .net Framework 4.8 运行会产生
\"0.00%\" - 使用 .net 6.0 运行会产生
\"-0.00%\"我如何在全球范围内确保 .net 6.0 也会导致:
\"0.00%\"无需更改
(-2.8E-15).ToString(\"P2\")例如在这里四舍五入。我们的问题是 WPF 绑定有一个 StringFormat 也显示 \"-0.00%\" 值,给定以下绑定
\"{Binding DoubleValue, StringFormat=P2}\"我不喜欢在这里引入 Converter 或对 ViewModel 中的值进行四舍五入。如果有其他方法。 Binding 的一个子类可能是我今天早上想到的一个想法。但我宁愿不这样做...
-
Math.Abs(-2.8E-15).ToString(\"P2\")将删除该标志。