Scroll to navigation

ecvt(3) Library Functions Manual ecvt(3)

NAZWA

ecvt, fcvt - konwertuje liczbę zmiennoprzecinkową na łańcuch

BIBLIOTEKA

Standardowa biblioteka C (libc, -lc)

SKŁADNIA

#include <stdlib.h>
[[przestarzałe]] char *ecvt(double number, int ndigits,
                          int *restrict decpt, int *restrict sign);
[[przestarzałe]] char *fcvt(double number, int ndigits,
                          int *restrict decpt, int *restrict sign);

Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

ecvt(), fcvt():


Od glibc 2.17
(_XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200809L))
|| /* glibc >= 2.20 */ _DEFAULT_SOURCE
|| /* glibc <= 2.19 */ _SVID_SOURCE
glibc 2.12 do glibc 2.16:
(_XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200112L))
|| _SVID_SOURCE
Przed glibc 2.12:
_SVID_SOURCE || _XOPEN_SOURCE >= 500

OPIS

Funkcja ecvt() przekształca liczbę number na łańcuch cyfr ndigits zakończony znakiem NULL (gdzie ndigits jest ograniczone do wartości zależnej od systemu określonej przez precyzję typu double) i zwraca wskaźnik do tego łańcucha. Najbardziej znacząca cyfra jest różna od zera, chyba że number wynosi zero. Najmniej znacząca cyfra jest zaokrąglana. Łańcuch nie zawiera kropki dziesiętnej, jednak pozycja kropki dziesiętnej względem początku łańcucha znajduje się w zmiennej *decpt. Ujemna wartość *decpt oznacza, że kropka dziesiętna znajduje się na lewo od początku łańcucha. Jeśli znak liczby number jest ujemny, to *sign przyjmuje wartość różną od zera, a w przeciwnym przypadku 0. Gdy number jest zerem, nie jest określone czy *decpt będzie równe 0 czy 1.

Funkcja fcvt() działa tak samo jak ecvt(), z wyjątkiem tego, że ndigits określa liczbę cyfr po kropce dziesiętnej.

WARTOŚĆ ZWRACANA

Zarówno funkcja ecvt(), jak i fcvt() zwracają wskaźnik do statycznego łańcucha zawierającego reprezentację ASCII liczby number. Łańcuch statyczny jest nadpisywany po każdym wywołaniu ecvt() lub fcvt().

ATRYBUTY

Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).

Interfejs Atrybut Wartość
ecvt() Bezpieczeństwo wątkowe MT-niebezpieczne race:ecvt
fcvt() Bezpieczeństwo wątkowe MT-niebezpieczne race:fcvt

STANDARDY

Brak.

HISTORIA

Oznaczona jako przestarzała w POSIX.1-2001. POSIX.1-2008 usuwa opis funkcji ecvt() i fcvt(), rekomendując używanie zamiast nich funkcji sprintf(3) (chociaż preferowane może być używanie snprintf(3)).

UWAGI

Nie wszystkie języki używają kropki jako separatora części całkowitej od części ułamkowej liczby.

ZOBACZ TAKŻE

ecvt_r(3), gcvt(3), qecvt(3), setlocale(3), sprintf(3)

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Adam Byrtek <alpha@irc.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

2 maja 2024 r. Linux man-pages (niewydane)