ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [Comm] Проблемы с интернационализированными числами!
@ 2005-02-23 12:15 Roman Savochenko
  2005-02-23 12:44 ` Vitaly Lipatov
  2005-02-24  6:23 ` Afanasov Dmitry
  0 siblings, 2 replies; 3+ messages in thread
From: Roman Savochenko @ 2005-02-23 12:15 UTC (permalink / raw)
  To: community

Всем привет!

Имею проблему с интернационализацией чисел.
Проблема заключается в том, что:
- В английской локали вещественные числа имеют вид: xx.xxx
- В украинской/русской теже числа имеют вид: xx,xxx

При этом функции типа atof, strtod принципиально игнорируют точку в 
русской/украинской локале.
Т.е если строку "34.23" преобразовать в число с помощью atof то получим 34.

Объясните, пожалуйста, что это за безобразие и как с этим бороться.
Надоело уже везде выполнять замену '.' на ','. Особенно если учесть что 
могут быть проблемы в английской локале.
Проблема особенно актуальна при работе с СУБД MySQL.
Там всегда используется '.'

Спасибо за помощь!

С уважением Роман!


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Comm] Проблемы с интернационализированными числами!
  2005-02-23 12:15 [Comm] Проблемы с интернационализированными числами! Roman Savochenko
@ 2005-02-23 12:44 ` Vitaly Lipatov
  2005-02-24  6:23 ` Afanasov Dmitry
  1 sibling, 0 replies; 3+ messages in thread
From: Vitaly Lipatov @ 2005-02-23 12:44 UTC (permalink / raw)
  To: community

On Wednesday 23 February 2005 15:15, Roman Savochenko wrote:

> Проблема заключается в том, что:
> - В английской локали вещественные числа имеют вид: xx.xxx
> - В украинской/русской теже числа имеют вид: xx,xxx
Это не проблема, а таковы традиции.

> При этом функции типа atof, strtod принципиально игнорируют
> точку в русской/украинской локале.
Правильно делают.
> Т.е если строку "34.23" преобразовать в число с помощью atof
> то получим 34.

> Объясните, пожалуйста, что это за безобразие и как с этим
> бороться. Надоело уже везде выполнять замену '.' на ','.
Где именно везде?
> Особенно если учесть что могут быть проблемы в английской
> локале.
> Проблема особенно актуальна при работе с СУБД MySQL.
> Там всегда используется '.'
Может быть вы не настроили локаль для СУБД?

-- 
Lav
Виталий Липатов
Санкт-Петербург
GNU! ALT Linux Team! LaTeX! LyX!


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Comm] Проблемы с интернационализированными числами!
  2005-02-23 12:15 [Comm] Проблемы с интернационализированными числами! Roman Savochenko
  2005-02-23 12:44 ` Vitaly Lipatov
@ 2005-02-24  6:23 ` Afanasov Dmitry
  1 sibling, 0 replies; 3+ messages in thread
From: Afanasov Dmitry @ 2005-02-24  6:23 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 785 bytes --]

On Wed, Feb 23, 2005 at 02:15:00PM +0200, Roman Savochenko wrote:
> При этом функции типа atof, strtod принципиально игнорируют точку в 
> русской/украинской локале.
> Т.е если строку "34.23" преобразовать в число с помощью atof то получим 34.
> 
> Объясните, пожалуйста, что это за безобразие и как с этим бороться.
> Надоело уже везде выполнять замену '.' на ','. Особенно если учесть что 
> могут быть проблемы в английской локале.
для программки, что вызывает atof проставь LC_NUMERIC=С (если я не
ошибаюсь конечно :)
а вообще-то man setlocale

> Проблема особенно актуальна при работе с СУБД MySQL.
> Там всегда используется '.'
либо тоже самое для БД: при запуске в ключах либо в env проставить
LC_NUMERIC="ru_RU.KOI8-R"/

-- 
 С уважением,
 Афанасов Дмитрий

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-02-24  6:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-02-23 12:15 [Comm] Проблемы с интернационализированными числами! Roman Savochenko
2005-02-23 12:44 ` Vitaly Lipatov
2005-02-24  6:23 ` Afanasov Dmitry

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git