Bug 24170 - Неправильная работа с float в русской локали
Summary: Неправильная работа с float в русской локали
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: basic256 (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Andrey Cherepanov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-28 13:40 MSD by Fr. Br. George
Modified: 2017-05-31 12:39 MSK (History)
3 users (show)

See Also:


Attachments
Грязный хак, перебивающий LC_NUMERIC (961 bytes, patch)
2010-09-28 13:40 MSD, Fr. Br. George
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Fr. Br. George 2010-09-28 13:40:39 MSD
Created attachment 4569 [details]
Грязный хак, перебивающий LC_NUMERIC

В программе повсеместно используется как locale-=незаисимое представление float (в виде чисел с точкой), так и locale-зависимое (в русской локали это числа с запятой), в результате print 1.1 дяёт 1

Самый простой способ -- насильственно перебить локаль LC_NUMERIC (это соответствует стандарту BASIC). Пока что единственный вариант -- отловить использование локалезависимыхфункций типа atof() и перебить.
Comment 1 Fr. Br. George 2010-11-06 19:39:12 MSK
Ping
Comment 2 Vladimir Cherny 2010-11-07 10:48:19 MSK
Мейнстрим исправил, поскольку немцы со своей локалью тоже нарвались на эту ошибку. Посмотрим исправил ли наш мантейнер...
Comment 3 Сергей Ирюпин 2010-12-14 21:41:25 MSK
(В ответ на комментарий №2)
> Мейнстрим исправил, поскольку немцы со своей локалью тоже нарвались на эту
> ошибку. Посмотрим исправил ли наш мантейнер...
Майнтейнер исправил.
Comment 4 Andrey Cherepanov 2017-05-31 12:39:58 MSK
Исправлено.