Code formatting test
Testing codesamples for viewing and copying (do not link here, I will post this item again later after testing)
If you have problems ppasting in the sample please leave a remark
convert number to Roman notation
Function as PowerShell code (Pre tag CodeHTMLer)
# Convert Int to Roman notation
# /\/\o\/\/ 2006
function format-Roman ($num ) {
$M = [math]::truncate($num / 1000)
$num -= $M * 1000
$D = [math]::truncate($num / 500)
$num -= $D * 500
$C = [math]::truncate($num / 100)
$num -= $C * 100
$L = [math]::truncate($num / 50)
$num -= $L * 50
$X = [math]::truncate($num / 10)
$num -= $x * 10
$V = [math]::truncate($num / 5)
$num -= $V * 5
$Roman = "M" * $M
$Roman += "D" * $D
$Roman += "C" * $C
$Roman += "L" * $L
$Roman += "X" * $X
$Roman += "V" * $V
$Roman += "I" * $num
$roman = $roman.replace('DCCCC','CM') # 900
$roman = $roman.replace('CCCC','CD') # 400
$roman = $roman.replace('LXXXX','XC') # 90
$roman = $roman.replace('XXXX','XL') # 40
$roman = $roman.replace('VIIII','IX') # 9
$roman = $roman.replace('IIII','IV') # 4
Return $Roman
}
Commandline example (Block Quote)
PoSH>format-Roman 1987
MCMLXXXVII
PoSH>format-Roman 1999
MCMXCIX
PoSH>Update-TypeData C:\PowerShell\TypeData\TypedataInt32.ps1xml
PoSH>(32).toroman()
XXXII
format an Integer in Roman notation
Type extension as XML (convert whitespace, codehtmler)
<?xml version="1.0" encoding="utf-8" ?>
<Types>
<Type>
<Name>System.Int32</Name>
<Members>
<ScriptMethod>
<Name>ToRoman</Name>
<Script>
$num = $this
$M = [math]::truncate($num / 1000)
$num -= $M * 1000
$D = [math]::truncate($num / 500)
$num -= $D * 500
$C = [math]::truncate($num / 100)
$num -= $C * 100
$L = [math]::truncate($num / 50)
$num -= $L * 50
$X = [math]::truncate($num / 10)
$num -= $x * 10
$V = [math]::truncate($num / 5)
$num -= $V * 5
$Roman = "M" * $M
$Roman += "D" * $D
$Roman += "C" * $C
$Roman += "L" * $L
$Roman += "X" * $X
$Roman += "V" * $V
$Roman += "I" * $num
$roman = $roman.replace('DCCCC','CM') # 900
$roman = $roman.replace('CCCC','CD') # 400
$roman = $roman.replace('LXXXX','XC') # 90
$roman = $roman.replace('XXXX','XL') # 40
$roman = $roman.replace('VIIII','IX') # 9
$roman = $roman.replace('IIII','IV') # 4
Return $roman
</Script>
</ScriptMethod>
</Members>
</Type>
</Types>
* Edit * Added script again formatted by PowerShell analyzer
# Function Format-Roman
# /\/\o\/\/ 006
# http://ThePowerShellGuy.com
# HTML Formatting Generated with PowerShell Analyzer
function format-Roman ($num ) {
$M = [math]::truncate($num / 1000)
$num -= $M * 1000
$D = [math]::truncate($num / 500)
$num -= $D * 500
$C = [math]::truncate($num / 100)
$num -= $C * 100
$L = [math]::truncate($num / 50)
$num -= $L * 50
$X = [math]::truncate($num / 10)
$num -= $x * 10
$V = [math]::truncate($num / 5)
$num -= $V * 5
$Roman = "M" * $M
$Roman += "D" * $D
$Roman += "C" * $C
$Roman += "L" * $L
$Roman += "X" * $X
$Roman += "V" * $V
$Roman += "I" * $num
$roman = $roman.replace('DCCCC','CM') # 900
$roman = $roman.replace('CCCC','CD') # 400
$roman = $roman.replace('LXXXX','XC') # 90
$roman = $roman.replace('XXXX','XL') # 40
$roman = $roman.replace('VIIII','IX') # 9
$roman = $roman.replace('IIII','IV') # 4
Return $roman
}
Enjoy, Greetings /\/\o\/\/