![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
AD |
![]()
Сообщение
#1
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Вчера увидел одну немаловажную особенность С-шной функции atof, о которой хотел всех предупредить.
Ну во-первых, функция переводит строковое значение числа в вещественное число. Особенность функции заключается в том, что этот перевод зависит от locale, которое устанавливается функцией setlocale! Например, если в приложении установлено вот так:
Т.е. в данной системе знаковым разделителем будет являться запятая. А если вот так:
Помните об этой особенности, если пользуетесь подобными функциями (не Qt)! ![]() |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
А на уроке информатики вам лапшу навесили сказали не полную правду. а на тод период, я не припомню чтоб были компы использующие запятую для этих целей. у нас были два типа Крвет (БК-0010) и Нейва (БК-0011). Да и Редкие ПиСюки и Искры тоже были таковыми, тоже работали только с точкой. Так что факт. не знаю как сейчас на уроках информатики, может ориентир на виндовоз, и его использование. |
|
|
Tonal |
![]()
Сообщение
#3
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
а на тод период, я не припомню чтоб были компы использующие запятую для этих целей. у нас были два типа Крвет (БК-0010) и Нейва (БК-0011). Да и Редкие ПиСюки и Искры тоже были таковыми, тоже работали только с точкой. Так что факт. Они не были ориентированы на широкого пользователя или на работу с документами. К тому же большинство программного обеспечения тогда было либо стянуто, либо наскоро адаптированно. В той же MSDOS нормальная поддержка русского в консоле дай бог если в 5ке появилась. Но это скорее к политике и развалу науки и промышленности относится, чем к самим машинам. не знаю как сейчас на уроках информатики, может ориентир на виндовоз, и его использование. Причём тут винда-то? Нормальные настройки окружения для работы пользователя. Читать для начала: http://ru.wikipedia.org/wiki/%D0%9B%D0%BE%...%B0%D0%BB%D1%8C http://ru.wikipedia.org/wiki/%D0%9B%D0%BE%...%86%D0%B8%D1%8F http://ru.wikipedia.org/wiki/%D0%98%D0%BD%...%86%D0%B8%D1%8F |
|
|
AD |
![]()
Сообщение
#4
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Они не были ориентированы на широкого пользователя или на работу с документами. К тому же большинство программного обеспечения тогда было либо стянуто, либо наскоро адаптированно. В той же MSDOS нормальная поддержка русского в консоле дай бог если в 5ке появилась. Но это скорее к политике и развалу науки и промышленности относится, чем к самим машинам. Причём тут винда-то? Нормальные настройки окружения для работы пользователя. а на тод период, я не припомню чтоб были компы использующие запятую для этих целей. у нас были два типа Крвет (БК-0010) и Нейва (БК-0011). Да и Редкие ПиСюки и Искры тоже были таковыми, тоже работали только с точкой. Так что факт. Я многое пропустил, блин. У меня сегодня целый день на форуме темы не открывались! Я не совсем понял, о чем спор-то? ![]() Лично по мне, так я не считаю удобным то, что программисту приходится следить за тем, что поставлено: точка или запятая. Мне кажется, что надо бы было сделать функцию так, чтобы она понимала оба этих разделителя одновременно. ПЛЮС ко всему, могу заметить следующее: года 2 или 3 назад при делании лабораторок заметил еще одну штуку: функции типа sprintf делают строки именно с точкой, а не с запятой. не проверял эту штуку, используя setlocale, но думаю, результат будет тем же! ![]() |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 23.6.2025, 22:57 |