当前位置: 首页 > 面试题库 >

SQL Server格式带小数点的逗号

姚高韵
2023-03-14
问题内容

如何将十进制值转换为逗号?

这对我有帮助。但是我的问题是,小数位仅设置为2。我希望小数是2、3或4。

1,234.123   or    1,234.12345

我试过了

convert(varchar, convert(decimal(18, 4), 1234.1234567), 1)

输出:1234.1234

没有逗号。但是如果我用钱,小数点只能是2

convert(varchar,convert(money,1234.1234567),1)

输出:1,234.12


问题答案:

而不认为这是一个好主意…

select dbo.F_AddThousandSeparators(convert(varchar, convert(decimal(18, 4), 1234.1234567), 1))

功能

-- Author:      bummi
-- Create date: 20121106
CREATE FUNCTION F_AddThousandSeparators(@NumStr varchar(50)) 
RETURNS Varchar(50)
AS
BEGIN
declare @OutStr varchar(50)
declare @i int
declare @run int

Select @i=CHARINDEX('.',@NumStr)
if @i=0 
    begin
    set @i=LEN(@NumStr)
    Set @Outstr=''
    end
else
    begin   
     Set @Outstr=SUBSTRING(@NUmStr,@i,50)
     Set @i=@i -1
    end


Set @run=0

While @i>0
    begin
      if @Run=3
        begin
          Set @Outstr=','+@Outstr
          Set @run=0
        end
      Set @Outstr=SUBSTRING(@NumStr,@i,1) +@Outstr  
      Set @i=@i-1
      Set @run=@run + 1     
    end

    RETURN @OutStr

END
GO


 类似资料:
  • 问题内容: 我正在使用以下内容在T-SQL中创建逗号格式的数字。如何摆脱小数点和小数点后的数字。因此,如果格式化后得到1,112.00,我怎么只得到1,112? 问题答案: 这也适用于小数点后的数字: 注意 :正如@Mahmoud Gamal指出的那样,格式化通常更适合在前端执行。

  • 问题内容: 我以这种方式使用: -Creat一个refernce -创建refernce -在构造函数中: ..... 我本打算只将其与整数一起使用,但是当我键入1500之类的数字时,它会在失去焦点到1500后转换为它,并且抛出异常是这行的第一行: 线程“ AWT-EventQueue-0”中的异常java.lang.NumberFormatException:对于输入字符串:“ 1,500” 当

  • 好吧,我一直在制作一个表格,允许用户输入某些输入并像excel一样运行。由于这与程序的目的以及它如何显示内容无关,因此我不会在这篇文章中讨论其目的。有没有办法在演示输出中添加更多小数点?我尝试添加 'total.toFixed(3) 这并没有解决问题。然后我尝试了我现在插入的内容。我没有想法。

  • 我是python新手。在python中,我希望将浮点变量转换为具有2位小数和小数逗号的字符串变量。 例如,3.1415-- 它工作得很好。但是当我转换1.20时,它得到的是1,2,而不是1,20。我想问后一个问题,有没有一个简单的方法来实现这一点?谢谢大家 我的代码如下:

  • 我知道我应该使用iReport中的模式,但我无法找到正确的模式。

  • 问题内容: 我有一个价格列表,逗号带有小数点,点是千位分隔符。 一些例子: 12,30 116,10 1.563,14 这些来自第三方。我想将它们转换为浮点数并将它们添加在一起。 做这个的最好方式是什么? number_format 似乎不适用于此格式, str_replace 似乎有点过头了,因为我必须对每个数字进行多次操作。 有更好的办法吗?谢谢。 问题答案: 使用去除点并不过分。 几乎可以肯