/ /システム間キャッシュの除算の結果を切り捨てる方法は? - システム間キャッシュ

システム間キャッシュの除算結果を切り捨てる方法は? - システム間キャッシュ

私は、切り詰められた整数を取得したい。

例えば、この部門を行う場合: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(数値式)

数値式

床が計算される数値。

私はパフォーマンステストや何かをしていないが、まさにあなたが探しているものと思われる。