如何定义输出格式

本文关键字:输出 格式 定义 何定义 | 更新日期: 2023-09-27 17:53:47

我有下面的脚本,它显示以下格式作为输出:

67534 : 0.645623
64653 : 0.854261
95688112 : 0.7566438

当我在另一个系统上测试我的脚本时,第二列(浮点数(的格式变为:12.3E^12。当我从控制面板更改数字格式时,格式就可以了。有什么解决方案可以修复代码中的数字格式,而不是更改系统的数字格式(仅适用于第二列(resultwithindex.result((?

foreach (var resultwithindex in results.Select((r, index) => new { result = r, Index = index }).OrderByDescending(r => r.result).Take(n))
{
  sb1.AppendFormat("{0}: {1}", c[resultwithindex.Index], resultwithindex.result);
  sb1.AppendLine();
}
MessageBox.Show(sb1.ToString());

提前感谢

如何定义输出格式

关键是使用"F6"格式字符串作为十进制值。

您可以在将其发送到AppendFormat之前进行ToString调用(如下所示:(

sb1.Appendformat "{0}: {1}", c[resultwithindex.Index], resultwithindex.result.ToString("F6", CultureInfo.InvariantCulture) );

或者利用复合格式字符串并这样做:

sb1.Appendformat(CultureInfo.InvariantCulture, "{0}: {1:F6}", c[resultwithindex.Index], resultwithindex.result);

为了避免字符串的格式依赖于您所在机器的区域性设置,您需要指定一个区域性作为格式提供程序。例如:

sb1.AppendFormat(CultureInfo.InvariantCulture, "{0}: {1}", 
                 c[resultwithindex.Index], resultwithindex.result);