Независимая от локали strtod реализация

У меня есть библиотека, которая должна проанализировать двойные числа, которые всегда используют точку '.' в качестве десятичного разделителя. К сожалению для этого случая, strtod () уважает локаль, которая могла бы использовать другой разделитель, и таким образом парсинг может перестать работать. Я не могу setlocale () - это не ориентировано на многопотоковое исполнение. Таким образом, я ищу чистую независимую от локали strtod реализацию теперь. Я нашел несколько реализаций до сих пор, но все они смотрят hacky или точно так же, как плохой код. Кто-то может рекомендовать хорошо протестированный, работу, чистую (ANSI) C реализация для меня?

8
задан Sergey K. 9 July 2012 в 13:51
поделиться

2 ответа

Возьмите какую-нибудь известную реализацию (которая не зависит от atof), например, ту, которая распределена с рубином: ruby_1_8/missing/strtod.c.

3
ответ дан 5 December 2019 в 19:00
поделиться

Есть также gdtoa, доступная в netlib, лицензия в стиле BSD: http://www.netlib.org/fp/gdtoa.tgz

1
ответ дан 5 December 2019 в 19:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: