通貨型セルのValueプロパティに文字列(数値)を設定すると、System.MidpointRounding.ToEvenで四捨五入された値が表示される

文書番号 : 38188     文書種別 : 不具合     登録日 : 2015/03/03     最終更新日 : 2015/07/23
文書を印刷する
対象製品
SPREAD for Windows Forms 7.0J
状況
修正済み
詳細
通貨型セルのValueプロパティに文字列(数値)を設定すると、System.MidpointRounding.ToEvenで四捨五入された値が表示されます。
(例:0.5を設定すると0と表示され、1.5を設定すると2と表示されます)

【手順】
1.新規フォームにSPREADを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
  --A1セルが「1」、A2セルが「0」と表示されます

【サンプルコード】
  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    ' 通貨型セルの設定
    Dim currencyCell As New FarPoint.Win.Spread.CellType.CurrencyCellType()
    currencyCell.DecimalPlaces = 0
    currencyCell.ShowCurrencySymbol = False
    FpSpread1.ActiveSheet.Columns(0).CellType = currencyCell

    ' テスト値の設定
    FpSpread1.ActiveSheet.SetValue(0, 0, 0.5D, True)
    FpSpread1.ActiveSheet.SetValue(1, 0, "0.5", True)
  End Sub
回避方法
Service Pack 5(v7.0.2018.2008)で修正済み。
Service Pack 5(v7.0.2018.2008)より前のバージョンでは次の回避方法が有効です。
------------------------------------------

通貨型セルに文字列型ではなく数値型の値を設定してください。