%UNSH (四捨五入を伴う符号なし形式への変換)
%UNSH(numeric or character expression)
%UNSH は %UNS と同じですが、式が 10 進数値、浮動値、または文字値の場合には、整数タイプへの変換時に、 式の値に四捨五入が適用されるという点が異なります。 四捨五入が実行できない場合、メッセージは出されません。
詳細については、変換命令または 組み込み関数を参照してください。
図 1. %UNS および %UNSH の例
*..1....+....2....+....3....+....4....+....5....+....6....+....7...+....
D*Name++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++
D p7 s 7p 3 inz (8236.567)
D s9 s 9s 5 inz (23.73442)
D f8 s 8f inz (173.789)
D c15a s 15a inz (' 12345.6789 +')
D c15b s 15a inz (' + 5 , 6 7 ')
D result1 s 15p 5
D result2 s 15p 5
D result3 s 15p 5
D array s 1a dim (200)
D a s 1a
/FREE
// using numeric parameters
result1 = %uns (p7) + 0.1234; // "result1" is now 8236.12340
result2 = %uns (s9); // "result2" is now 23.00000
result3 = %unsh (f8); // "result3" is now 174.00000
// using character parameters
result1 = %uns (c15a); // "result1" is now 12345.0000
result2 = %unsh (c15b); // "result2" is now 6.00000
// %UNS and %UNSH can be used as array indexes
a = array (%unsh (f8));
/END-FREE