使用填充时,字符串格式的行为不符合预期
本文关键字:不符合 格式 填充 字符串 | 更新日期: 2023-09-27 18:10:28
我正试图根据来自SqlDataReader的结果形成表的文本表示。
while (unitsRdr.Read())
{
note.AppendFormat("{0,-15}", String.Format("{0}({1})", unitsRdr.GetValue(0), unitsRdr.GetValue(1)));
}
现在我期望发生的是我应该得到4组项目,右边的内边距等于15。这样的
BP(mm'Hg) HR(bpm) RR(rpm) Sa O2(%) |<-- this would be the end of the string.
但是我得到的是
BP(mm'Hg )HR(bpm )RR(rpm )Sa O2(% )|<-- this is the end of the string.
似乎在(
之后开始计数,)
放在空格数之后。
什么是正确的格式化方式,使文本像我的第一个例子?
对于任何想要它的人,这里是源表
desc unit
------------ ----------
BP mm'Hg
HR bpm
RR rpm
Sa O2 %
我强烈怀疑问题在于unitsRdr.GetValue(1)
返回的值实际上比您认为的要长。我非常怀疑string.Format
正在做那件事。试着用unitsRdr.GetValue(1).Trim()
代替——或者用一个硬编码的文字值来测试它。