我々が持っている問題は、次の2つのステートメントに縮小されていますTSQLラウンド()不一致?
select convert(float, (convert(float,5741.61)/convert(float, 196.00)) * convert(float,14.00)) as unrounded, round(convert(float, (convert(float,5741.61)/convert(float, 196.00)) * convert(float,14.00)), 2) as roundedTo2dp
select convert(float, 410.115) as unrounded, ROUND(convert(float, 410.115), 2) as roundedTo2dp
最初の文は、小数点以下2桁までのラウンド()で410.115の値を計算するためにフロートを使用し、また、その結果。丸められた値は410.11で出ます。
2番目のステートメントはfloat値410.115を使用し、小数点以下2桁まで四捨五入します。丸められた結果は410.12として出てくる。
なぜ値が丸められた場合、1つは切り捨てられ、もう1つは切り上げられますか?
は、どのように私は410.12に丸めるための最初の文を得ることができますか?
EDIT:書式設定のお詫び - このマシンにはフォーマットが表示されません(ごく奇妙です)。