當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C語言 strtold用法及代碼示例


C語言stdlib頭文件(stdlib.h)中strtold函數的用法及代碼示例。

用法:

long double strtold (const char* str, char** endptr);
將字符串轉換為long double
解析C字符串str將其內容解釋為浮點數(根據當前語言環境),並將其值返回為long double。如果endptr不是一個空指針,該函數還會設置endptr指向數字後的第一個字符。

該函數的運作方式類似於strtod解釋字符串,但產生類型的數字long double(參考strtod有關解釋過程的詳細信息)。

參數

str
以浮點數表示形式開頭的C字符串。
endptr
引用一個已經分配的類型的對象char*,其值由函數設置為中的下一個字符str數值之後。
此參數也可以是空指針,在這種情況下不使用它。

返回值

成功後,函數將轉換後的浮點數作為類型的值返回long double
如果無法執行有效的轉換,則該函數返回零(0.0L)。
如果正確的值超出該類型可表示的值的範圍,則為正或負HUGE_VALL返回,並且errno被設定為ERANGE
如果正確的值將導致下溢,則該函數將返回一個其大小不大於最小歸一化正數的值(某些庫實現也可能設置為errnoERANGE在這種情況下)。

示例

/* strtold example */
#include <stdio.h>      /* printf, NULL */
#include <stdlib.h>     /* strtold */

int main ()
{
  char szOrbits[] = "90613.305 365.24";
  char * pEnd;
  long double f1, f2;
  f1 = strtold (szOrbits, &pEnd);
  f2 = strtold (pEnd, NULL);
  printf ("Pluto takes %.2Lf years to complete an orbit.\n", f1/f2);
  return 0;
}


輸出:
Pluto takes 248.09 years to complete an orbit.



相關用法


注:本文由純淨天空篩選整理自C標準庫大神的英文原創作品 C strtold function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。