我想弄清楚是否有一種簡單的方法將數字轉換爲單詞9並將其轉換爲9。Powershell有沒有簡單的方法將int 5轉換爲字符串5或68到68?
3
A
回答
4
有一個很好的.NET庫,名爲Humanizer,可以做到這一點。我還沒有嘗試過,但它看起來像有一個PowerShell wrapper。我懷疑這將完全符合你的需要。
0
這已被問到關於.NET/C#;你可以把它放在一個類中,並在powershell中使用Add-Type
來完成這個工作。
.NET convert number to string representation (1 to one, 2 to two, etc...)
也許是這樣的(未經測試):
$class = @"
public class Num2Word
{
public static string NumberToText(int n)
{
if (n < 0)
return "Minus " + NumberToText(-n);
else if (n == 0)
return "";
else if (n <= 19)
return new string[] {"One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight",
"Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen",
"Seventeen", "Eighteen", "Nineteen"}[n-1] + " ";
else if (n <= 99)
return new string[] {"Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy",
"Eighty", "Ninety"}[n/10 - 2] + " " + NumberToText(n % 10);
else if (n <= 199)
return "One Hundred " + NumberToText(n % 100);
else if (n <= 999)
return NumberToText(n/100) + "Hundreds " + NumberToText(n % 100);
else if (n <= 1999)
return "One Thousand " + NumberToText(n % 1000);
else if (n <= 999999)
return NumberToText(n/1000) + "Thousands " + NumberToText(n % 1000);
else if (n <= 1999999)
return "One Million " + NumberToText(n % 1000000);
else if (n <= 999999999)
return NumberToText(n/1000000) + "Millions " + NumberToText(n % 1000000);
else if (n <= 1999999999)
return "One Billion " + NumberToText(n % 1000000000);
else
return NumberToText(n/1000000000) + "Billions " + NumberToText(n % 1000000000);
}
}
@"
Add-Type -TypeDefinition $class
[Num2Word]::NumberToText(555)
沒有理由你不能寫爲純PowerShell的,但是這已經寫!
相關問題
- 1. 有沒有簡單的方法將值轉換爲字符串?
- 2. 簡單的方法將字符串轉換爲數字或null?
- 3. 有沒有簡單的方法將這些字符串值轉換爲枚舉?
- 4. C#:有沒有簡單的方法將字符串轉換爲RTF?
- 5. 有沒有簡單的方法將C++枚舉轉換爲字符串?
- 6. 將帶5+小數的字符串轉換爲int
- 7. '轉換'5個字符爲int
- 8. 將字符串轉換爲int,int轉換爲字符串
- 9. 將字符串轉換爲int或者反轉更有效率?
- 10. 簡單的方法將所有int轉換爲char?
- 11. 將DataSet轉換爲字符串或Int
- 12. 有沒有簡單的方法將標準轉換爲HQL?
- 13. 有沒有簡單的方法將C#類轉換爲PHP?
- 14. 簡單的int到字符串轉換... Int到const char *無效
- 15. 有沒有簡單的方法將數字轉換爲PHP中的單詞?
- 16. 沒有將int轉換爲if語句上的字符串
- 17. 方法從字符串轉換爲int
- 18. 是否有更好的方法將所有控制字符轉換爲PowerShell 5中的實體?
- 19. 將dbNull轉換爲VB.NET中的字符串的簡單方法
- 20. 有沒有一種簡單的方法來將我所有的字符串轉換爲對strings.xml的引用
- 21. 將「字符串」轉換爲[[string]]的簡單方法?
- 22. 將寬字符串或寬字符數組轉換爲簡單字符數組的最簡單方法?
- 23. C#無法將字符串轉換爲int錯誤,當我甚至沒有嘗試將其轉換爲int
- 24. 有沒有辦法將decltype轉換爲宏中的字符串?
- 25. 得到TokenMismatchException在VerifyCsrfToken.php線68
- 26. Python轉換/驗證5或6 Digit Int作爲有效時間
- 27. 有沒有解決方案將字符串轉換爲金額?
- 28. 如何將34個面部標誌點轉換爲68點?
- 29. 有沒有一種簡單的方法將字符串轉換爲Java中的Inetaddress?
- 30. 有沒有一種簡單的方法來將字符串轉換爲使用vbscript的數學表達式?
不,在PowerShell中沒有內置的方法來做到這一點。你必須編寫自己的函數才能這樣做。 – 2014-10-31 20:06:38