C# 双格式对齐小数点

标签 c# formatting double

我将数字与不同的小数位数对齐,以便小数点符号对齐在一条直线上。这可以通过用空格填充来实现,但我遇到了麻烦。

外行说我想对齐以下数字: 0 0.0002 0.531 2.42 12.5 123.0 123172

这是我想要的结果:

     0
     0.0002
     0.531
     2.42
    12.5
   123.0
123172

最佳答案

如果您确实想要那个结果,则不能使用任何格式的数字数据,因为那样不会将 123 格式化为 123.0。您必须将这些值视为字符串以保留尾随零。

这会为您提供您所要求的结果:

string[] numbers = { "0", "0.0002", "0.531", "2.42", "12.5", "123.0", "123172" };

foreach (string number in numbers) 
{
    int pos = number.IndexOf('.');
    if (pos == -1) 
        pos = number.Length;
    Console.WriteLine(new String(' ', 6 - pos) + number);
}

输出:

     0
     0.0002
     0.531
     2.42
    12.5
   123.0
123172

关于C# 双格式对齐小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2332912/

相关文章:

c - 基本C程序,巴比伦算法

c# - ASP.NET 动态插入代码到头部

c# - ASP .NET 核心 3.0 依赖注入(inject)抛出 System.InsufficientExecutionStackException

至少有 10 个字符的长整数的 java String 格式

colors - 如何像这样在 LaTeX 中为章节标题着色?

java-me - J2ME - 数字格式

java - 以给定的精度快速将double转成string

c# - 构造函数可以抛出代码的通用重试逻辑

c# - Telerik GridView : How to refresh grid view after Database change

c++ - 如何在 C++ 中自己将 double 转换为 char[]?