以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  年龄计算  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128639)

--  作者:13775189031
--  发布时间:2018/12/12 9:37:00
--  年龄计算

Select Case e.DataCol.name
    Case "出生日期"
        If e.DataRow.IsNull("出生日期") Then
            e.DataRow("年龄") = Nothing
        Else
            Dim tp As TimeSpan = Date.today - CDate(e.DataRow("出生日期"))
            e.DataRow("年龄") = Math.Round(tp.TotalDays / 365.2422,2)
        End If
End Select

 

这段代码算出来的年龄四舍五入的,我现在只要十足年龄,也就是只要四舍,不五入,怎么改?


--  作者:有点甜
--  发布时间:2018/12/12 9:46:00
--  

年龄这样计算吧,看懂代码

 

Select Case e.DataCol.Name
    Case "身份证号"
        If e.DataRow.IsNull("身份证号") Then  \'身份证号码是否为空
            e.DataRow("出生日期") = Nothing  \'如果为空,则清除出生日期
            e.DataRow("性别") = Nothing  \'如果为空,则清除出生日期
            e.DataRow("年龄") = Nothing \'如果为空,则清除年龄
        Else
            \'否则从身份证号码列中提取出生日期
            e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号"))
            e.DataRow("性别") = ReadSex(e.DataRow("身份证号"))
            Dim d As Date = ReadBirthday(e.DataRow("身份证号"))
            Dim y As Integer = d.year
            If format(d, "MMdd") <= Format(Date.Today, "MMdd") Then
                e.DataRow("年龄") = Date.Today.Year - y
            Else
                e.DataRow("年龄") = Date.Today.Year - y -1
            End If
        End If
End Select


--  作者:刘林
--  发布时间:2021/10/11 23:32:00
--  
请问老师,有什么办法进行后台计算年龄吗?
--  作者:有点蓝
--  发布时间:2021/10/12 8:20:00
--  
如果是指sql,不建议使用,一来性能不好,二来不准确。建议还是加载数据到程序里计算