ROMAN

アラビア数字をローマ数字に変換します。

構文
  1. UString = ROMAN( num )
引数
num必須
アラビア数字
戻り値
ローマ数字に変換したアラビア数字

プログラム

UWSC
//////////////////////////////////////////////////
// 【引数】
//   num : アラビア数字 
// 【戻値】
//   ローマ数字に変換したアラビア数字 
//////////////////////////////////////////////////
FUNCTION ROMAN(num)
	DIM arr[][1] = 1, "I", + _
					2, "II", + _
					3, "III", + _
					4, "IV", + _
					5, "V", + _
					6, "VI", + _
					7, "VII", + _
					8, "VIII", + _
					9, "IX", + _
					10, "X", + _
					40, "XL", + _
					50, "L", + _
					90, "XC", + _
					100, "C", + _
					400, "CD", + _
					500, "D", + _
					900, "CM", + _
					1000, "M"
	DIM res = ""
	
	n = UBound(arr)
	REPEAT
		SELECT TRUE
			CASE num / arr[n][0] >= 1
				res = res + arr[n][1]
				num = num - arr[n][0]
			DEFAULT
				n = n - 1
		SELEND
	UNTIL num = 0
	
	RESULT = res
FEND

//////////////////////////////////////////////////
// 【引数】
//   array : 上限値を求める配列 
// 【戻値】
//   配列の上限値 
//////////////////////////////////////////////////
FUNCTION UBound(array[])
	RESULT = RESIZE(array)
FEND

アラビア数字・ローマ数字対応表

アラビア数字 ローマ数字
1 I
2 II
3 III
4 IV
5 V
6 VI
7 VII
8 VIII
9 IX
10 X
40 XL
50 L
90 XC
100 C
400 CD
500 D
900 CM
1000 M

関連記事

ARABIC (自作関数)
ローマ数字 を アラビア数字 に変換します。
radToDeg (自作関数)
弧度法 から 度数法 に変換します。
degToRad (自作関数)
度数法 から 弧度法 に変換します。
binToDec (自作関数)
2進数を10進数に変換します。負数・小数の値にも対応しています。
binToHex (自作関数)
2進数を16進数に変換します。負数・小数の値にも対応しています。
hexToBin (自作関数)
16進数を2進数に変換します。負数・小数の値にも対応しています。
hexToDec (自作関数)
16進数を10進数に変換します。負数・小数の値にも対応しています。
decToHex (自作関数)
10進数を16進数に変換します。負数・小数の値にも対応しています。
decToBin (自作関数)
10進数を2進数に変換します。負数・小数の値にも対応しています。
ABS (スクリプト関数)
引数の絶対値(\(|x|\))を返します。
ARCCOS (スクリプト関数)
引数の 逆余弦 を求めます。
CEIL (スクリプト関数)
正の値へ切り上げた数値を返します。
LN (スクリプト関数)
自然対数(\(\log_e{x}\))を求める。
LOGN (スクリプト関数)
Baseを底とするXの対数(\(\log_{Base}{x}\))を求める。
ZCUT (スクリプト関数)
マイナス値は0にして返します。
isEven (自作関数)
偶数かどうかを調べます。
isOdd (自作関数)
奇数かどうか調べます。
ARCSIN (スクリプト関数)
引数の 逆正弦 を求めます。
EXP (スクリプト関数)
自然指数関数(\(y=e^{x}\))を求める。
GCD (自作関数)
最大公約数 を求めます。
LCM (自作関数)
最小公倍数 を求めます。
ARCTAN (スクリプト関数)
引数の 逆正接 を求めます。
INT (スクリプト関数)
小数点以下を切り落とした数値を返します。
POWER (スクリプト関数)
数値のべき乗(\(\small{Base}^{Exponent}\))を求めます。
isPrime (自作関数)
指定した数値が 素数 かどうかを調べます。
normalizeAngle (自作関数)
度単位の角度を0~360度に正規化します。
divisors (自作関数)
引数に指定した数値の約数のリストを返します。
RANDOM (スクリプト関数)
ランダムな値を返します。
ROUND (スクリプト関数)
指定した位置で偶数丸めした値を返します。
SQRT (スクリプト関数)
平方根(\(\sqrt{x}\))を求める。
digitSum (自作関数)
数値の各桁の和を返す
Collatz (自作関数)
コラッツ数列 を求め結果を配列で返します。
Kaprekar (自作関数)
カプレカ数 を求め結果を配列で返します。
STRCONV (スクリプト関数)
文字列を変換します。(大文字小文字・かなカナ、全角半角)
Application.CentimetersToPoints メソッド (Excel)
センチメートル単位の数値を、ポイント(1ポイントは0.35mm)単位に変換します。
Range.ConvertHangulAndHanja メソッド (Word)
指定範囲をハングルから漢字または漢字からハングルに変換します。
Endian (自作関数)
ビッグエンディアン・リトルエンディアンをもう一方のエンディアンに相互変換します。
fact (自作関数)
引数に指定した数値の 階乗 を求めます。
factDouble (自作関数)
引数に指定した数値の 二重階乗 を求めます。