上篇提到發生OCI-22053可以強制把數字轉成字串就天下太平了
但是萬一,要對數字做什麼處理....
例如我現在要轉成千分位,報表最喜歡千分位了,還要小數點後兩位喔~
那下一波的災難也不遠了阿哭哭
幸好還可以把資料再變回double型態
像這樣在前台記得加上
<asp:GridView ID="gv_Data" onrowdatabound="gv_Data_RowDataBound" ...
在後台用以下Code
protected void gv_Data_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Double tmpValue = Convert.ToDouble(e.Row.Cells[1].Text);
e.Row.Cells[1].Text = tmpValue.ToString("N2");
}
}
記得一定要確認好匯出的那一整個colunm都是數字阿!
不然,NET就會很不給面子的跟你說
Input string was not in a correct format
(我的點耐特是歪國人所以講英文
因為這個方法只能拿來處理數字格式的千分位轉換
如果要轉整數的千分位,N2改N0就可以了
如果確定都是數字還報這個錯,設個中斷點看一下程式跑到那邊的時候gridview裡面有沒有資料,空的也會出問題喔~
沒有留言:
張貼留言