⑴ C語言中如何把浮點型轉換為字元型
浮點型轉換為字元型一般需要計算的,比如現在浮點型是414.15f
轉換為字元型,那麼就需要將這串數據轉換為ASCII碼,單個數字單個數字轉換:
定義一個緩沖區:char
Buffer[6]用於存放這幾個數字;
接著:
將浮點型放大,轉換為整型:(int)(414.15
*
100)
=
41415d
逐個取值:
for(i=0;i<6;i++)
{
41415
%
10
=
5
;
//求除以10的余數,從各位開始取值
10*10
=
100
;
//將除數放大10倍,一個循環後就編程了100,兩個循環後是1000,以此求取各位上的數字;
Buffer[i]
=余數+'0';
//將各個位上的數字轉化成字元型,存入緩沖區
}
⑵ 怎麼將sql server 語句中integer類型轉換成string
SQL Server中的數值類型分為兩種,一種是精確的數值類型,具體的數據類型有:
bit、tinyint、smallint、int、bigint、smallmoney、money和decimal,這些數據類型能夠精確的表明某以數值;
另一種是近似的數值類型,具體就是float和real。
浮點數據為近似值,因此,並非數據類型範圍內的所有值都能精確地表示。
有些時候需要將這些數值類型轉換為字元串類型,用到的轉換函數就是cast和convert,這兩個函數的作用都是進行類型轉換,只不過語法格式不同。
對於精確數值的數據類型,轉換出來的字元串就是存儲的數值,比如:
declare @i int
set @i=123456789
print 'test:'+convert(varchar(20),@i)
輸出就是:test:123456789
而如果對於近似數值的數據類型,那麼可就沒有那麼簡單了。
declare @i float
set @i=123456789
print 'test:'+convert(varchar(20),@i)
輸出結果:test:1.23457e+008
輸出的結果是使用科學計數法來表示的,再看看可否通過指定轉換樣式來指定不使用科學計數法呢?幫助文檔中說到float 或 real 轉換為字元數據時的 style 值:
0(默認值)最大為 6 位數。根據需要使用科學記數法。
1 始終為 8 位值。始終使用科學記數法。
2 始終為 16 位值。始終使用科學記數法。
值是123456789,超過了6位數.所以不管是0還是1,2結果都會使用科學計數法來表示。
那麼要怎麼樣才能將我們的數據不轉換成科學計數法而輸出呢?比較簡單的辦法就是將近似數據轉換為精確數據,然後再將精確數據轉換成字元串。
同樣以上面的例子為例, 進行兩次數據類型的轉換如下:
declare @i float
set @i=123456789
print 'test:'+convert(varchar(20),convert(int,@i))
輸出:test:123456789如果是有小數,那麼我們要轉換出小數位的話,可以轉換成decimal,轉換出的小數位數在定義decimal時指定。
比如要輸出4位小數,那麼轉換代碼是:
declare @i float
set @i=123456789.12
print 'test:'+convert(varchar(20),convert(decimal(18,4),@i))
輸出:test:123456789.1200
⑶ sql中float怎樣轉成int
可以用cast()或convert()進行轉換
如cast(col as int) 或convert(int,col)
⑷ sql float轉 nvarchar格式 ,急
你的格式有問題
定義了 declare @s float(8) ,但你賦值的時候卻給了十幾位的長度,後面的字元型也是.
可以把變數改的長一點,例如:
declare @s numeric(32,4)
declare @t nvarchar(32)
set @s=127777777777773.1222
set @t=convert(nvarchar(50),@s)
print @t
set @t=cast(@s as nvarchar(50))
print @t
⑸ 如何將浮點類型轉換成字元型
一、C語言中數值型數據分為兩大類:整型和浮點型
整型:char
int
short
long
浮點型:float(單精度)
double(雙精度)
二、浮點型數據轉存到字元串中
char
str[30];
//定義一個字元數組,來存儲數據
double
d=123.456;
//定義一個浮點型變數d
sprintf(str,"%f",
d
);
//格式串同printf()格式要求
sprintf(str,"%.2f",
d
);
//保留兩位小數,第三位四捨五入
三、整型數據轉存到字元串中
char
str[30];
int
i=123;
sprintf(str,
"%d",
i
);
四、0-9之間的數據轉為字元
C語言中,字元型數據在存儲時,實際上存儲的是字元的ASCII值,字元'0'到'9'對應的ASCII是連續的,其值為48-57,所以,0-9數值轉為字元時,只需要加上'0'就可以了,如:
char
ch;
int
i;
i=1;
ch=i+'0'
;
printf("ch=%c
ascii=%d",
ch,
ch
);
//按%c輸出,就是字元1,按%d輸出就是ASCII值49
⑹ sql float轉String
額......
MS SQL裡面沒有STRING
但是有類似的,CHAR VARCHAR NCHAR 和NVARCHAR
關於其中的區別,建議你在聯機幫助文檔看看。
至於轉換的話...
用convert函數可以實現。
convert(nvarchar(20),float)
⑺ sql float轉 nvarchar格式 ,急
命令格式:
CONVERT (使用類型[(長度)], 源變數 [, 轉換參數])
對於FLOAT轉為VARCHAR類型,轉換參數值設置如下:
0(默認值) 最大為 6 位數。根據需要使用科學記數法。
1 始終為 8 位值。始終使用科學記數法。
2 始終為 16 位值。始終使用科學記數法。
所以,您如果未選轉換參數,即下面的格式,為默認值0,當有效的最大位數為 6 以上時,自動捨去,並根據需要使用科學記數法。
convert(nvarchar(100),[匯總表$].[F2])
所以,你應該在分析數據精度要求的基礎上,採用適合的方法。(轉換為定點數似乎問題更多,不建議使用)
⑻ sql 語句 ,怎麼將字元型轉換為數字型(整型,浮點型)都行,用什麼函數 在線等
你可以試試Convert函數 ,例如:
Convert(int, 欄位) //前一個參數為目標類型,後一個為欄位名
如果想轉換成浮點型/日期 等,可以通過第三個參數來控制格式
⑼ 在sql server2000中,如何把整型欄位轉換成字元串型欄位
使用函數STR()
STR
由數字數據轉換來的字元數據。
語法
STR ( float_expression [ , length [ , decimal ] ] )
參數
float_expression
是帶小數點的近似數字 (float) 數據類型的表達式。不要在 STR 函數中將函數或子查詢用作 float_expression。
length
是總長度,包括小數點、符號、數字或空格。默認值為 10。
decimal
是小數點右邊的位數。
返回類型
char
注釋
如果為 STR 提供 length 和 decimal 參數值,則這些值應該是正數。在默認情況下或者小數參數為 0 時,數字四捨五入為整數。指定長度應該大於或等於小數點前面的數字加上數字元號(若有)的長度。短的 float_expression 在指定長度內右對齊,長的 float_expression 則截斷為指定的小數位數。例如,STR(12,10) 輸出的結果是 12,在結果集內右對齊。而 STR(1223, 2) 則將結果集截斷為 **。可以嵌套字元串函數。
說明 若要轉換為 Unicode 數據,請在 CONVERT 或 CAST 轉換函數內使用 STR。
示例
A. 使用 STR
下例將包含五個數字和一個小數點的表達式轉換為有六個位置的字元串。數字的小數部分四捨五入為一個小數位。
SELECT STR(123.45, 6, 1)
GO
下面是結果集:
------
123.5
(1 row(s) affected)
當表達式超出指定長度時,字元串為指定長度返回 **。
SELECT STR(123.45, 2, 2)
GO
下面是結果集:
--
**
(1 row(s) affected)
即使數字數據嵌套在 STR內,結果集也是帶指定格式的字元數據。
SELECT STR (FLOOR (123.45), 8, 3)
GO
下面是結果集:
--------
123.000
(1 row(s) affected)
⑽ sql中怎麼將double型 的轉換為字元串型
select CAST( 欄位名 as 字元串類型)
比如 現在我有一個student表中有一個grade 類型double 保存學生成績
select cast(garde as nvarchar(50)) as '列別名' from student
當前注意 轉換的時候,注意類型本身的大小,例如 大欄位(長度) 轉換 小類型 或許會失敗