Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2011, 05:55   #1
Ast
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 117
По умолчанию Как перевести число в строковый формат. в PHP

Написать функцию генерации цены товара в строковом формате. Вывести результат в окно браузера. Допустим, на входе функции получена цена 38243.75, вы должны вывести «тридцать восемь тысяч двести сорок три рубля семьдесят пять копеек».
Ast вне форума Ответить с цитированием
Старый 11.01.2011, 09:31   #2
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

разделяешь строку по точке, далее разделяешь каждое число на тысячи, сотни итд. Для каждого своя строка.
Например
123

100+20+3 = "сто" + "двадцать" + "три"
NiCola999 вне форума Ответить с цитированием
Старый 11.01.2011, 11:38   #3
Ast
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 117
По умолчанию

а в пхп можно? заранее спасибо
Ast вне форума Ответить с цитированием
Старый 11.01.2011, 16:59   #4
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

приблизительно так...
Код:
<?php

$number = 123;
$str = strval($number);
$dest = '';

for ($i=strlen($str);$i>0;$i--)
{
 if  ($i==3)
 {
  switch ( substr($str,strlen($str)-$i,1) ) 
 {
  case 1: $dest =$dest.' Сто';break;
  case 2: $dest =$dest.' Двести';break; 
 }
 }
 if  ($i==2)
 {
  switch (substr($str,strlen($str)-$i,1))
 {
  case 2: $dest =$dest.' Двадцать'; break;
  case 3: $dest =$dest.' Тридцать'; 
 }
 }
 if  ($i==1)
 {
  switch (substr($str,strlen($str)-$i,1))
  { 
  case 1: $dest =$dest.' Один'; break;
  case 2: $dest =$dest.' Два'; 
  case 3: $dest =$dest.' Три'; 
  }
 }
}
echo $dest;

?>
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 12.01.2011, 06:27   #5
Ast
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 117
По умолчанию

спасибо огромное буду пробовать))
Ast вне форума Ответить с цитированием
Старый 12.01.2011, 07:20   #6
Ast
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 117
По умолчанию

а если в одном файле вводить в другом выводить? допустим примерно так
index.php:


<?
$action = $_POST["action"];
if ( empty($action) )
{
?>
<HTML>
<HEAD>
<TITLE>Примерчик</TITLE>
</HEAD>
<BODY>
<center>
<table width=1 border=0>
<form action=test1.php method=post>
<input type=hidden name=action value=post>
<tr><td colspan=2>Сообщение<br><textarea cols=50 rows=8 name=msg>
<? echo $msg; ?>
</textarea></td></tr>
<tr><td colspan=2><input type=submit value='Добавить'></td></tr>
</form>
</table>
</center>
</BODY>
</HTML>
<?
}
?>

2 файл:


<?
$msg = substr($_POST["msg"],0,1024);
$msg = htmlspecialchars($msg);
//print "<P>".$msg."</P>\n";

$number = 91234;
$str = strval($number);
$dest = '';

for ($i=strlen($str);$i>0;$i--)
{
if ($i==3)
{
switch ( substr($str,strlen($str)-$i,1) )
{
case 1: $dest =$dest.' Сто';break;
case 2: $dest =$dest.' Двести';break;
}
}
if ($i==2)
{
switch (substr($str,strlen($str)-$i,1))
{
case 2: $dest =$dest.' Двадцать'; break;
case 3: $dest =$dest.' Тридцать';
}
}
if ($i==1)
{
switch (substr($str,strlen($str)-$i,1))
{
case 1: $dest =$dest.' Один'; break;
case 2: $dest =$dest.' Два';
case 3: $dest =$dest.' Три';
}
}
}
echo $dest;
?>

при любом раскладе будет 123
Ast вне форума Ответить с цитированием
Старый 12.01.2011, 07:20   #7
Ast
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 117
По умолчанию

чтобы вводить произвольное число. а с копейками так же?
Ast вне форума Ответить с цитированием
Старый 12.01.2011, 13:01   #8
Ast
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 117
По умолчанию

хм у меня не получается наверно что то не так делаю...и как склонения писать допустим для десяти? одиннадцать двенадцать?
Ast вне форума Ответить с цитированием
Старый 12.06.2011, 08:52   #9
brulik67
Пользователь
 
Регистрация: 12.06.2011
Сообщений: 12
По умолчанию

ну а тут в итоге получилось что нить?
brulik67 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перевести число из 256 системы счисления в десятичную ? alexprey Помощь студентам 5 24.11.2010 16:48
Перевести формат даты mar4elo Общие вопросы Delphi 1 08.05.2010 00:26
VBA,преобразование в строковый формат DimR Помощь студентам 0 07.04.2010 23:03
Как перевести число в троичную систсему исчисления? TwiX Общие вопросы Delphi 1 03.12.2009 17:59
Как в паскале перевести число с 10-ной с/с в 16-ную с/с Vika Помощь студентам 6 23.12.2008 20:00