Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Office Новый топик    Ответить
 Функция: ПРОСТАЯ ДРОБЬ  [new]
Valll
Member

Откуда: Зеленоград
Сообщений: 350
Посоветуйте!

Есть и функция переводящая число с десятичной дроби в простую дробь?
20 май 07, 19:30    [4160653]     Ответить | Цитировать Сообщить модератору
 Re: Функция: ПРОСТАЯ ДРОБЬ  [new]
Deggasad
Member

Откуда: Воронеж
Сообщений: 3490
Valll
Посоветуйте!

Есть и функция переводящая число с десятичной дроби в простую дробь?


Формат ячейки - число - дробный
21 май 07, 07:59    [4161259]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Функция: ПРОСТАЯ ДРОБЬ  [new]
NVT
Member

Откуда: Санкт-Петербург
Сообщений: 206
Понадобилось, написал, вдруг кому пригодится...
Ну и критика приветствуется?

Function ПростаяДробь(var As Double) As String
Dim ЧислоДесЗнаков As Long, strVar As String, pointPosition As Long, Delimiter As String
    
    Delimiter = Mid(FormatNumber(123.45, 2), 4, 1)
    strVar = Format(var)
    pointPosition = InStr(strVar, Delimiter)
    
    ЧислоДесЗнаков = Len(Right(strVar, Len(strVar) - pointPosition))
    ПростаяДробь = Format(var * 10 ^ ЧислоДесЗнаков, "0") & "/" & Format(10 ^ ЧислоДесЗнаков, "0")
End Function
24 апр 19, 15:54    [21870723]     Ответить | Цитировать Сообщить модератору
 Re: Функция: ПРОСТАЯ ДРОБЬ  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 19153
1) Зачем использовать возведение в степень, когда проще Replace-нуть точку из строкового представления?
2) Аналогично и в знаменателе вместо возведения в степень использовать String().
3) А сократить?
24 апр 19, 16:07    [21870736]     Ответить | Цитировать Сообщить модератору
 Re: Функция: ПРОСТАЯ ДРОБЬ  [new]
Казанский
Member

Откуда:
Сообщений: 1307
Deggasad
Формат ячейки - число - дробный
Также функция листа ТЕКСТ, в Excel VBA Worksheetfunction.Text. Например
?worksheetfunction.Text(worksheetfunction.Pi,"# ###/###")
3 16/113
Это представление числа Пи с точностью 6 знаков после запятой!
?3+16/113
 3,14159292035398 
24 апр 19, 20:37    [21870912]     Ответить | Цитировать Сообщить модератору
 Re: Функция: ПРОСТАЯ ДРОБЬ  [new]
NVT
Member

Откуда: Санкт-Петербург
Сообщений: 206
Akina, не понял п.1 и п.2. Поясните, плз.

"Сократить? " - Вы имеете ввиду?
если var = 0.5, то получаем 5/10. И это преобразовать в 1/2?
Если я правильно вас понял, то было бы интересно услышать ваши мысли на этот счет? я с этим пока не заморачивался...

ЗЫ: написано не только для Excel'я, поэтому его встроенные функции не использую.
25 апр 19, 13:23    [21871599]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Office Ответить