私は、切り詰められた整数を取得したい。
例えば、この部門を行う場合:5/3、 私は結果を1にしたい。
回答:
回答№1は4[私は今、本当にばかげていると思っています。私は元の質問を読んだわけではありませんでしたが、 元の 質問]
COSで整数除算を行うには、 整数除算 オペレーター
write 53
/演算子は常に行います 浮動小数点除算 (あなたがCorba言語モードになっていない限り、それは何であるかを尋ねないでください)
回答№2の場合は0
それを行う簡単な方法は、使用している $ piece
write $piece(5/3,".",1)
1
または小数点記号を取得する
set decimalSeparator=##class(%SYS.NLS.Format).GetFormatItem("DecimalSeparator")
write $piece(5/3,decimalSeparator,1)
1
回答№3の場合は0
ある $fnumber
関数が浮動小数点を落とす可能性がありますが、このトリックは余分な書式設定をせずに左に数値を設定することです ""
書式指定子として。
write $fnumber(5/3,"",0)
2
回答№4の場合は0
つかいます $ System.SQL.Floor
classMethod FLOOR(%as%Library.Numeric = "")as%Library.Integer
FLOORは、以下の最大の整数を返す数値関数です。 与えられた数値式に等しい
$ SYSTEM.SQL.FLOOR(数値式)
数値式
床が計算される数値。
私はパフォーマンステストや何かをしていないが、まさにあなたが探しているものと思われる。