查询:
SELECT CAST('123.1234' AS FLOAT) AS 'Float value', CAST(CAST('123.1234' AS FLOAT) AS NVARCHAR(MAX)) AS 'Text value'
返回:
Float value Text value
123,1234 123.123
为什么小数位数有差异?
答案 0 :(得分:1)
https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql
当expression为float或real时,style可以是下表中显示的值之一。其他值处理为0.
0(默认值)最多6位数。在适当的时候使用科学记数法。
1总是8位数。始终使用科学记数法。
以下代码会为您提供所需的结果
SELECT CAST('123.1234' AS FLOAT) AS 'Float value', convert(nvarchar(max),CAST('123.1234' AS FLOAT) ,128 ) AS 'Text value'
答案 1 :(得分:0)
如果您真的希望从带有比例的数字中取回文本,则需要使用数字或小数类型并包含' scale'你想要衡量多少规模的第二个价值。 Float我相信只会进行估算,为了更准确的估算,你需要使用它。
( ( UserSettings )Application.Current.Resources["UserSettings"] ).FontSize = newFontSize;
更多数字数据类型:https://academy.vertabelo.com/blog/understanding-numerical-data-types-sql/