或者Convert(numeric(18,2),123456.12345)
不过看你的错误,是不是字段是字符型?

解决方案 »

  1.   

    Showmessage(RoundTo(123456.12345, -2));
      

  2.   

    这样行不行:
    Edit1.text:=FormatFloat('#,##0', iii);
      

  3.   

    round(123456.12345)
    是123456.12000不行
    roundto好像没有吧
      

  4.   

    Sql server 2000中刚刚测试SELECT ROUND(123456.12345, 2) AS Expr1
    的结果是123456.12
      

  5.   

    试过了,Round(123456.12345,2)错误
    Convert(numeric(18,2),123456.12345)正确
      

  6.   

    我是在sqlserver中不是delphi中
    Convert(numeric(18,2),123456.12345)
    is ok thankyou: johnsonrao(johnson)
      

  7.   

    我也知道Convert(numeric(18,2),123456.12345),快给分我
      

  8.   

    还有问题Convert(numeric(18,2),123456.12345)在select 时可以但我在把它
    insert 时不行
    如:declare @lshh char(11),@sktid char(11),@plh int,@hw char (11),@bm char(11),@xiaoph char(11),@xshyid char(11)
    ,@spbh char(20),@dj decimal,@shl decimal,@koul int
    set @lshh='lsAABEF' set @sktid='sktid01' set @plh=1 set @hw='HWI00000001'
    set @bm='bm001' set @xiaoph='sn00010' set @xshyid='xshy001' set @spbh='B100002003320'
    set @dj=123.15 set @shl=15 set @koul=75insert into tmp_pos_mxls
    (lshh,sktid,plh,hw,bm,xiaoph,xshyid,spid,spbh,dj,lshj,shl,koul,ysje,sshje,chbje,JE,she
    ,ml,beactive)
    select @lshh AS lshh,@sktid AS sktid,@plh AS plh,@hw AS hw,@bm AS bm,@xiaoph AS xiaoph
           ,@xshyid AS xshyid,a.spid,@spbh AS spbh,@dj AS dj,a.lshj,@shl AS shl,@koul AS koul
           ,(a.lshj*@shl) AS ysje,(@dj*@shl) AS sshje,(c.chbdj*@shl) AS chbje,convert(numeric(18,2),(@dj*@shl/1.17),2) as je
           ,convert(numeric(18,2),(lshj*@shl/1.17),2) AS she,(@dj-c.chbdj*@shl) AS ml,beactive=a.beactive
    from spkfk a,huoweizl b,hwsp c
    where a.spbh=@spbh
    and a.spid=c.spid
    and b.hw=c.hw
    把insert部分注释可以但为什么不能插入呢
      

  9.   

    要不,你设变量如 @num1 numeric(16,2),然后附值 
    select @num1=round(123456.12345, 2) 试试
      

  10.   

    要看你的表结构了,不一定要Numeric(18,2),也有可能是别的如(9,2),总之要和你的表结构相同。
      

  11.   

    johnsonrao(johnson)
    的方法在SELECT 时行但我INSERT时就提示
    String  or  binary  data  would  be  truncated.  
    The  statement  has  been  terminated. 我用管理器把表结构改了(15,6)还不行