Функция КоличествоПрописью(Количество) Экспорт ЦелаяЧасть = Цел(Количество); ДробнаяЧасть = Окр(Количество - ЦелаяЧасть, 3); Если ДробнаяЧасть = Окр(ДробнаяЧасть,0) Тогда ПараметрыПрописи = ", , , , , , , , 0"; ИначеЕсли ДробнаяЧасть = Окр(ДробнаяЧасть, 1) Тогда ПараметрыПрописи = "целая, целых, целых, ж, десятая, десятых, десятых, м, 1"; ИначеЕсли ДробнаяЧасть = Окр(ДробнаяЧасть, 2) Тогда ПараметрыПрописи = "целая, целых, целых, ж, сотая, сотых, сотых, м, 2"; Иначе ПараметрыПрописи = "целая, целых, целых, ж, тысячная, тысячных, тысячных, м, 3"; КонецЕсли; Возврат ЧислоПрописью(Количество, ,ПараметрыПрописи); КонецФункции
//Возведем число 5 в степень 3 Результат = pow(5,3); //Результат = 125 // Вычисление объема шара по значению радиуса Pi=3.1415926535897932; Радиус=3; V=4*Pi*Pow(Радиус,3)/3; Сообщить("Объем шара с радиусом "+Радиус+" равен "+Формат(V,"ЧДЦ=2")); //Пример расчета сложного процента используя POW Функция СложныйПроцент(Кредит, Ставка, Срок = 1) Возврат Кредит*Pow(1 + Ставка/100, Срок); КонецФункции
//В диалоговой форме - Лимит, Точность, СамоЧисло(неотрицательное) и //Степень. Функция ЦелаяСтепень(а,б) Результат=1; Для К=1 По б Цикл Результат=Результат*а; КонецЦикла; Возврат Результат; КонецФункции Функция ЗнаковПослеТочки(Стр) Перем К; Номер=Найти(Стр,"."); Если Номер=0 Тогда Возврат 0; КонецЕсли; НачалоНулей=Номер+1; Для К=Номер+1 По СтрДлина(Стр) Цикл Если Сред(Стр,К,1)<>"0" Тогда НачалоНулей=К; КонецЕсли; КонецЦикла; Возврат Макс(НачалоНулей-Номер,0); КонецФункции Функция Знак(Ч) Если Ч=0 Тогда Возврат 0; ИначеЕсли Ч>0 Тогда Возврат 1; Иначе Возврат -1; КонецЕсли; КонецФункции Функция Корень10ВСтепени(Ч,Степень) Перем а,б; Если Степень<0 Тогда Сообщить("Степень <0"); КонецЕсли; _10ВСтепени=ЦелаяСтепень(10,Степень); Если _10ВСтепени>1 Тогда а=0; б=Лимит; РезА=Ч-ЦелаяСтепень(а,_10ВСтепени); РезБ=Ч-ЦелаяСтепень(б,_10ВСтепени); Пока 1=1 Цикл Текущее=(а+б)/2; Рез=Ч-ЦелаяСтепень(Текущее,_10ВСтепени); Если Знак(Рез)*Знак(РезА)<0 Тогда б=Текущее; Иначе а=Текущее; КонецЕсли; Если (а-б<Точность) И (а-б>-Точность) Тогда Возврат Текущее; КонецЕсли; КонецЦикла; ИначеЕсли Степень=1 Тогда Возврат Ч; Иначе Возврат 1; КонецЕсли; КонецФункции Функция Степень_xyz(f,x,y,z) Возврат ЦелаяСтепень(f,x)*ЦелаяСтепень(f,y)/Корень10ВСтепени(f,z); КонецФункции Функция ПоложительнаяДробнаяСтепень(а,ПоказательСтепени) Перем Знак; ЦелаяЧасть=Число(Строка(Цел(ПоказательСтепени))); ДрЧасть=Сред(ПоказательСтепени,СтрДлина(Строка(ЦелаяЧасть))+2); ВерхДробной=Число(СтрЗаменить(ДрЧасть,".","")); Если ВерхДробной>0 Тогда ДлинаДробной=ЗнаковПослеТочки(Строка(ПоказательСтепени)); Иначе ДлинаДробной=0; КонецЕсли; x=ЦелаяСтепень(а,ЦелаяЧасть)*Корень10ВСтепени(ЦелаяСтепень(а,ВерхДробной),ДлинаДробной); Возврат x; КонецФункции Функция Степень(а,б) Если б<0 Тогда НашаА=1/а; НашаБ=-б; Иначе НашаА=а; НашаБ=б; КонецЕсли; Сообщить(ПоложительнаяДробнаяСтепень(НашаА,НашаБ)); Возврат ПоложительнаяДробнаяСтепень(НашаА,НашаБ); КонецФункции Лимит=9999999; Точность=0.001; //<сообщил Пудель>
ПараметрыПредметаИсчисления = "целая, целых, целых, ж, сотая, сотой, сотых, ж, 2" ФорматнаяСтрока = "Л=ru_RU; ДП=Истина"; Сообщить(ЧислоПрописью(ВыводимоеЧисло, ФорматнаяСтрока, ПараметрыПредметаИсчисления));