要把G16单元格中的数值“38195.86”变成大写金额形式,用的公式
=IF(G16-INT(G16)=0,TEXT(G16,"[dbnum2]")&"元整",IF(G16*10-INT(G16*10)=0,TEXT(INT(G16),"[dbnum2]")&"元"&TEXT(INT((G16-INT(G16))*10),"[dbnum2]")&"角整",TEXT(INT(G16),"[dbnum2]")&"元"&TEXT(INT((G16-INT(G16))*10),"[dbnum2]")&"角"&TEXT(INT((G16*10-INT(G16*10))*10),"[dbnum2]")&"分"))
发现输出的是“叁万捌仟壹佰玖拾伍元捌角伍分”,分位计算是错误的,正确的应该是“叁万捌仟壹佰玖拾伍元捌角陆分”。
错误的地方是公式INT((G16*10-INT(G16*10))*10)计算结果是5而不是6,为什么会这样,求大神答疑!
修改成了
=IF(G16-INT(G16)=0,TEXT(G16,"[dbnum2]")&"元整",IF(G16*10-INT(G16*10)=0,TEXT(INT(G16),"[dbnum2]")&"元"&TEXT(INT(G16*10-INT(G16)*10),"[dbnum2]")&"角整",TEXT(INT(G16),"[dbnum2]")&"元"&TEXT(INT(G16*10-INT(G16)*10),"[dbnum2]")&"角"&TEXT(INT(G16*100-INT(G16*10)*10),"[dbnum2]")&"分"))
之后,在用38195.88验证时发现还是错的,输出的是“叁万捌仟壹佰玖拾伍元捌角柒分”……求解为什么!