Преобразование вещественного числа в строку

Преобразование вещественного числа в строку - Messages

#1 Posted: 14 years ago
Mikka

Mikka

36 likes in 206 posts.

Group: User

Здравствуйте, можно ли как то без дополнительный ухищрений преобразовать вещественное число в строку?
Например:
Выходит так

    num2str(2.56)="64/25"
А надо

    num2str(2.56)="2,56"
Сейчас я делаю так:
[LIVE width=549 height=321]http://smath.info/live/?file=2050[/LIVE]
Не официальный справочник http://sites.google.com/site/mikkhalichlab/ jabber конференция smath@conference.jabber.ru
#2 Posted: 14 years ago
Mikka

Mikka

36 likes in 206 posts.

Group: User

Предыдущая функция могла работать в некоторых случаях некорректно, вот 2 варриант:
[LIVE width=700 height=185]http://smath.info/live/?file=2307[/LIVE]
Не официальный справочник http://sites.google.com/site/mikkhalichlab/ jabber конференция smath@conference.jabber.ru
1 users liked this post
Fridel Selitsky 14 years ago
#3 Posted: 14 years ago
Fridel Selitsky

Fridel Selitsky

256 likes in 225 posts.

Group: Moderator

Функция работает не верно,если после целой части стоит ноль:

num2strD(3.01,6)="3.100000"
Метод расчета рычажных механизмов :http://www.exponenta.ru/educat/systemat/selitskiy-ivanov/index.asp
#4 Posted: 14 years ago
Mikka

Mikka

36 likes in 206 posts.

Group: User

И сам заметил этот недостаток, но к сожалению больше ничего красивого в голову не приходит...

З.ы. Нашел решение, не очень элегантное, но походу рабочее! Пробуем...
Не официальный справочник http://sites.google.com/site/mikkhalichlab/ jabber конференция smath@conference.jabber.ru
#5 Posted: 14 years ago
Fridel Selitsky

Fridel Selitsky

256 likes in 225 posts.

Group: Moderator

[http://[LIVE width=600 height=599]http://smath.info/live/?file=2330[/LIVE][/url]
Исправил недостаток
Метод расчета рычажных механизмов :http://www.exponenta.ru/educat/systemat/selitskiy-ivanov/index.asp
#6 Posted: 14 years ago
Mikka

Mikka

36 likes in 206 posts.

Group: User

Оригинально, я вот тоже исправил:
[LIVE width=700 height=185]http://smath.info/live/?file=2326[/LIVE]
Не официальный справочник http://sites.google.com/site/mikkhalichlab/ jabber конференция smath@conference.jabber.ru
#7 Posted: 14 years ago
zhuk

zhuk

13 likes in 120 posts.

Group: User

хгык! годный велик! сохранил себе копию с добавлением 1 и substr(2) хорошо придумал!
неофициальный справочник https://sites.google.com/site/mikkhalichlab/home jabber конференция smath@conference.jabber.ru
#8 Posted: 14 years ago
Fridel Selitsky

Fridel Selitsky

256 likes in 225 posts.

Group: Moderator

Надо исправить опечатку (иначе отрицательные числа дают ошибку).
Во второй строке Вашего файла вместо value,ntm1 должно быть [value],[ntm1].
[ ]-символ абсолютного значения
Метод расчета рычажных механизмов :http://www.exponenta.ru/educat/systemat/selitskiy-ivanov/index.asp
1 users liked this post
Mikka 14 years ago
#9 Posted: 14 years ago
Mikka

Mikka

36 likes in 206 posts.

Group: User

Исправил, спасибо
[LIVE width=800 height=230]http://smath.info/live/?file=2360[/LIVE]
Не официальный справочник http://sites.google.com/site/mikkhalichlab/ jabber конференция smath@conference.jabber.ru
#10 Posted: 14 years ago
Fridel Selitsky

Fridel Selitsky

256 likes in 225 posts.

Group: Moderator

Функция с одним аргументом:
[LIVE width=534 height=482]http://smath.info/live/?file=2370[/LIVE]
Метод расчета рычажных механизмов :http://www.exponenta.ru/educat/systemat/selitskiy-ivanov/index.asp
#11 Posted: 14 years ago
Mikka

Mikka

36 likes in 206 posts.

Group: User

Ваша функция глючит, если число знаков после запятой больше 4,
у меня например не получилось преобразовать в строку число 3,000005968.
Вот мой вариант такой функции, внутри функции в 1 строке объявлена константа prcs, это максимальная точность после запятой!
[LIVE width=550 height=550]http://smath.info/live/?file=2374[/LIVE]
Не официальный справочник http://sites.google.com/site/mikkhalichlab/ jabber конференция smath@conference.jabber.ru
#12 Posted: 14 years ago
Fridel Selitsky

Fridel Selitsky

256 likes in 225 posts.

Group: Moderator

В Вашей функции теряется знак "-",когда целая
часть равна нулю:

num2strD2(-0.1)="0.1"

Исправить можно,например,так




[LIVE width=541 height=761]http://smath.info/live/?file=2379[/LIVE]
Метод расчета рычажных механизмов :http://www.exponenta.ru/educat/systemat/selitskiy-ivanov/index.asp
#13 Posted: 14 years ago
Mikka

Mikka

36 likes in 206 posts.

Group: User

Или так:
[LIVE width=550 height=550]http://smath.info/live/?file=2382[/LIVE]
Не официальный справочник http://sites.google.com/site/mikkhalichlab/ jabber конференция smath@conference.jabber.ru
#14 Posted: 11 years ago
Serg

Serg

7 likes in 105 posts.

Group: Moderator

Доброго времени суток!
Помогите разобраться. Попытался повторить этот алгоритм и этот. В итоге ошибки. Не могу понять причину.
Спасибо.
Преобразование вещественного числа в строку.sm (8 KiB) downloaded 59 time(s).
Ученье свет!
#15 Posted: 11 years ago
Fridel Selitsky

Fridel Selitsky

256 likes in 225 posts.

Group: Moderator

Используйте обновленный алгоритм:
Лист1.png
Метод расчета рычажных механизмов :http://www.exponenta.ru/educat/systemat/selitskiy-ivanov/index.asp
1 users liked this post
Serg 11 years ago
#16 Posted: 11 years ago
Serg

Serg

7 likes in 105 posts.

Group: Moderator

При сложных вычислениях какая абракадбра получается

Лист15_Ошибка.sm (52 KiB) downloaded 51 time(s).
Ученье свет!
#17 Posted: 11 years ago
Fridel Selitsky

Fridel Selitsky

256 likes in 225 posts.

Group: Moderator

Wrote

При сложных вычислениях какая абракадбра получается




Лист1.png
Метод расчета рычажных механизмов :http://www.exponenta.ru/educat/systemat/selitskiy-ivanov/index.asp
1 users liked this post
Serg 11 years ago
#18 Posted: 11 years ago
Serg

Serg

7 likes in 105 posts.

Group: Moderator

Ох уж этот eval.
Хорошо бы иметь возможность настройки, чтобы по умолчанию выражения представленные аналитически переводились в численный вид, а не тыкать его в каждой формуле посложней. А если кому не надо - просто отключать.
Ученье свет!
#19 Posted: 11 years ago
Fridel Selitsky

Fridel Selitsky

256 likes in 225 posts.

Group: Moderator

Вы правы,обновил алгоритм:
Num2strD2.sm (25 KiB) downloaded 194 time(s).
Метод расчета рычажных механизмов :http://www.exponenta.ru/educat/systemat/selitskiy-ivanov/index.asp
1 users liked this post
Serg 11 years ago
#20 Posted: 11 years ago
Igor Skarine

Igor Skarine

14 likes in 97 posts.

Group: User

Ber7,
Опять проблема. Если выводить 4.9999999999 с точностью 2 то результат неверный - 4.99, а должно быть 5.00.
Вставьте в начало строчку value:=eval(round(value, prcs)) и все будет OK.
Regards
  • New Posts New Posts
  • No New Posts No New Posts