我正在尝试创建一个PowerShell脚本,将两个前导零添加到特定列中的所有数字。该脚本能够在列值中添加两个零,但只能在值的末尾添加。
当我将第16行变量的顺序更改为'$zeros + $employeeNumber'时,7DigitEmployeeNumber列不包括前导零。
我已经尝试转换$zeros和$employeeNumber的数据类型,但无法让脚本将前导零添加到列值。任何指导是非常感激的!
这是因为数字没有前导零。如果你想在数字的左边填充0,你必须把它当作一个字符串来处理。
$employeeNumber = 73128
$employeeNumberString = $employeeNumber.ToString()
$paddedEmployeeNumberString = $employeeNumberString.PadLeft(7,'0')
使$paddedEmployeeNumberString
的值为0073128
。
看看你发布的图片,这不仅仅是关于用前导零填充数字,但主要是当csv文件在Excel中打开时,这些前导零'消失'。.
如果您希望Excel尊重这些零,请在CSV文件中以TAB字符为前缀将它们写出来:
"`t{0:D7}" -f 73128
产生0073128
如果您需要更多的总数字,只需将{0:D7}
更改为{0:D9}
或{0:D25}
或…