标签: padleft

将int转换为带前导零的字符串

我有一个整数,我想转换为带前导零的字符串.

所以我有1并想把它变成01.14应该变成14没有014.

我试过了:

let str = (string 1).PadLeft(2, '0') // visual studio suggested this one
let str = (string 1).PadLeft 2 '0'
let str = String.PadLeft 2 '0' (string 1)
Run Code Online (Sandbox Code Playgroud)

但是没有工作:(当我用F#搜索这样的东西时,我得到了东西,printfn但我不想打印到stdout:/

免责声明:这是我的第一个F#

f# padleft leading-zero

6
推荐指数
1
解决办法
1238
查看次数

尝试使用前导空格填充十进制数字

for (int iCount = 0; iCount < oForm.LineItems.Count; iCount++)
           {
Run Code Online (Sandbox Code Playgroud)

// cartDetails在这里是一个stringbuilder.

     cartDetails.Append(String.Format("{0:0}", oForm.LineItems[iCount].Quantity));
     cartDetails.Append(String.Format("{0:0.00}", oForm.LineItems[iCount].Price));
     cartDetails.Append(String.Format("{0:0.00}", oForm.LineItems[iCount].ExtendedPrice));

     //cartDetails.Append(string.Format("{0,10:#,##0.00}", oForm.LineItems[iCount].Price) + "</TD><TD>");
     //cartDetails.Append(string.Format("{0,10:#,##0.00}", oForm.LineItems[iCount].ExtendedPrice) + "</TD><TD>");
     //cartDetails.Append(String.Format("{0}", oForm.LineItems[iCount].Quantity).PadLeft(4)+ "</TD><TD>");
     //cartDetails.Append(String.Format("{0:0.00}", oForm.LineItems[iCount].Price).PadLeft(8) + "</TD><TD>");
Run Code Online (Sandbox Code Playgroud)

我已经使用了我正在使用的源代码.我添加数量,价格,扩展价格和所有都是十进制列.我要做的就是用左边的空间填充.似乎正在发生十进制舍入到2位数.

上面那些注释的行是我尝试过的其他一些选项.目前,如果qty具有诸如4和40之类的值,则当我将它们打印在表格中时它们不会对齐.与价格相同.

有人请建议我在这做什么?

Update1:尝试了Lucas的建议,但它没有用.这就是我要做的事情.

cartDetails.Append(String.Format("{0:0,10}",oForm.LineItems [iCount] .Quantity));

当我尝试上述操作时,无论oForm.LineItems [iCount]中的值如何,它都显示每行10个.Quantity.

如果我更改String.Format("{0:0,4}",它会显示所有记录的04

c# decimal padleft string-formatting format-string

2
推荐指数
1
解决办法
4369
查看次数

“ private extern String PadHelper”的源代码在哪里?

当我正在寻找在.NET源代码下面的源代码,我没有找到源PadHelper是在方法内PadLeftPadRight

我的搜索有问题吗?

[System.Security.SecuritySafeCritical]  // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern String PadHelper(int totalWidth, char paddingChar, bool isRightPadded);
Run Code Online (Sandbox Code Playgroud)

.net c# padleft

2
推荐指数
1
解决办法
77
查看次数

使用'0'的Padleft字符串

我有这段代码

long num = Int64.Parse(Convert.ToString(random.Next(0, 65535), 2).PadLeft(16, '0'))
Run Code Online (Sandbox Code Playgroud)

使用此代码时,字符串不会使用前导零填充.我不确定,但我的猜测是,当字符串被解析时,它会从某种原因删除前导零?

如果我做这样的事情

long num = Int64.Parse(Convert.ToString(random.Next(0, 65535), 2).PadLeft(16, '8'))
Run Code Online (Sandbox Code Playgroud)

或者任何非零的数字,它将正确地输出到带有前导8的16位数字.

为什么会发生这种情况有一个很好的解释?

还有一个快速简单的解决方案吗?

不是任何使用int.ToString("D16")或任何类型的重复.我相信这是一个独特的问题.

.net c# padleft

0
推荐指数
1
解决办法
658
查看次数