以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]表达式只要小数点前两位不要四舍五入怎么设置呢? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=34367)
|
-- 作者:feikaba
-- 发布时间:2013/6/6 13:36:00
-- [求助]表达式只要小数点前两位不要四舍五入怎么设置呢?
只要小数点前两位不要四舍五入怎么设置呢?看下图,只要小数点0.34 0.29 0.24 ..... 折扣后金额是用表达式自动计算的!如果显示小数点位数系统自动四舍五入变成0.35 0.3 .... 表达式里我已经用了 [原价] * [折扣] 不知道咋改!请高手告诉下!谢谢 [求助] 此主题相关图片如下:123.jpg
|
-- 作者:Bin
-- 发布时间:2013/6/6 14:03:00
--
列属性设置只显示2位小数即可.
|
-- 作者:feikaba
-- 发布时间:2013/6/6 14:07:00
--
设置显示2位小数 他会四舍五入变成0.35
|
-- 作者:Bin
-- 发布时间:2013/6/6 14:33:00
--
使用代码完成吧.
Dim str As String = "0.235"messagebox.show(str.SubString(0,str.LastIndexOf(".")+3))
|
-- 作者:狐狸爸爸
-- 发布时间:2013/6/6 14:52:00
--
1、表达式不变。
2、在DrawCell事件如下设置代码:
If e.Col.Name = "折扣后金额" AndAlso e.Text > "" Then Dim v As Double = e.text v = Math.Floor(v * 100) / 100 End If
[此贴子已经被作者于2013-6-6 14:54:03编辑过]
|
-- 作者:lsy
-- 发布时间:2013/6/6 20:09:00
--
(打折后金额列不用表达式)
DataColChanged
If e.DataCol.Name = "原价" OrElse e.DataCol.Name = "折扣" Then If e.DataRow.IsNull("原价") = False AndAlso e.DataRow.IsNull("折扣") = False Then Dim s As String = CStr(e.DataRow("原价")*e.DataRow("折扣")) Dim s1 As String Dim i As Integer = Instr(s,".") s1 = s.SubString(0,i) s = s1 & Left(s.SubString(i),2) e.DataRow("打折后金额") = CDbl(s) End If End If
|