将数字翻译成文本laravel 9 vue 3 [已关闭]

irlmq6kh  于 2023-05-08  发布在  其他
关注(0)|答案(2)|浏览(150)

已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。

4天前关闭。
Improve this question
我想把一个数字翻译成一个文本,例如300到300,我使用Laravel 9惯性js和Vue 3
我需要把一个文本翻译成一个数字,例如300翻译成300

nwlls2ji

nwlls2ji1#

在PHP中,你可以这样做:

$number = (new \NumberFormatter("en", \NumberFormatter::SPELLOUT))->format(300);
// $number = "three hundred"
avwztpqn

avwztpqn2#

你可以使用下面的方法来做到这一点,保留你的原始号码,并复制你的号码,并将其转换为字符串,并将其从你的API传递到你的前端应用程序,这样它就可以完美地完成你的工作。
它目前会给予你的货币名称在印度的格式,你可以改变它根据您的需要。

public function ConvertINWord($number)
    {
        $number = $number;
        $no = round($number);
        $point = round($number - $no, 2) * 100;
        $hundred = null;
        $digits_1 = strlen($no);
        $i = 0;
        $str = array();
        $words = array(
            '0' => '', '1' => 'one', '2' => 'two',
            '3' => 'three', '4' => 'four', '5' => 'five', '6' => 'six',
            '7' => 'seven', '8' => 'eight', '9' => 'nine',
            '10' => 'ten', '11' => 'eleven', '12' => 'twelve',
            '13' => 'thirteen', '14' => 'fourteen',
            '15' => 'fifteen', '16' => 'sixteen', '17' => 'seventeen',
            '18' => 'eighteen', '19' => 'nineteen', '20' => 'twenty',
            '30' => 'thirty', '40' => 'forty', '50' => 'fifty',
            '60' => 'sixty', '70' => 'seventy',
            '80' => 'eighty', '90' => 'ninety'
        );
        $digits = array('', 'hundred', 'thousand', 'lakh', 'crore');

        while ($i < $digits_1) {
            $divider = ($i == 2) ? 10 : 100;
            $number = floor($no % $divider);
            $no = floor($no / $divider);
            $i += ($divider == 10) ? 1 : 2;
            if ($number) {
                $plural = (($counter = count($str)) && $number > 9) ? 's' : null;
                $hundred = ($counter == 1 && $str[0]) ? ' and ' : null;
                $str[] = ($number < 21) ? $words[$number] .
                    " " . $digits[$counter] . $plural . " " . $hundred
                    :
                    $words[floor($number / 10) * 10]
                    . " " . $words[$number % 10] . " "
                    . $digits[$counter] . $plural . " " . $hundred;
            } else $str[] = null;
        }

        $str = array_reverse($str);
        $result = implode('', $str);

        $points = ($point) ?
            "." . $words[$point / 10] . " " .
            $words[$point = $point % 10] : 'Zero';

        return $result . "Rupees  " . $points . " Paise";
    }

你只需要把你的数字传递给这个函数,它会根据你的需要返回一个字符串。

相关问题