PowerShell 技能连载 - 转换数字字符串
在 PowerShell 中转换一个包含数字的字符串非常简单:
1 | PS C:\> [double]"77.234" |
不过,如果字符串包含的不只是纯数字,那么就比较有挑战性了。例如,您需要转换一个类似 “2763MB” 的字符串,PowerShell 无法自动将它转换为一个数字。这时候您需要一个类似这样的转换函数:
1 | function Convert-MBToByte($MBString) |
或者如果它是一个合法的 PowerShell 代码格式,您可以试着让 PowerShell 来做转换:
1 | PS C:\> Invoke-Expression -Command '2615MB' |
然而,不推荐使用 Invoke-Expression
,因为它会带来安全风险。例如用户能够改变命令执行的表达式,类似 SQL 注入攻击。
PowerShell 技能连载 - 转换数字字符串
http://blog.vichamp.com/2018/01/08/converting-numeric-strings/