tei187/slownie

将数字转换成文字(英语、德语或波兰语)。主要围绕ISO 4217标准下的货币。

dev-main 2023-01-10 12:11 UTC

This package is auto-updated.

Last update: 2024-09-10 16:02:03 UTC


README

Słownie

/swɔvɲɛ/

方式副词

含义

  • (1.1) 通过发声
  • (1.2) 使用文字书写
  • (1.3) 直译“用文字表示”

描述

PHP库,用于将货币值转换为英语、德语或波兰语文字,在需要文字转换时很有用(金额验证、使用属格)。支持ISO 4217标准合规货币的金额高达999,999,999,999,999,999,999(以下列出支持的货币列表)。

(工作正在进行中... 更像一个概念证明)

DEMO APP

安装

Composer

  1. 下载并安装 Composer
  2. 使用命令
composer require tei187/slownie 

手动

  1. 下载包。
  2. 解压 "src" 目录并将内容放置在首选目标路径中。
  3. 在脚本中要求 loader.php 文件,如下所示
require_once( PATH_TO_EXTRACTED_SRC . "/loader.php" );

示例

基本

// EN EXTENSION
$en = new tei187\Slownie\EN("12345.31", 'pln');  // (EN)
echo $en->output();                            // outputs: twelve thousand three hundred forty five Polish zlotys, thirty one grosze
echo $en->output("999999999.99", 'usd');         // outputs: nine hundred ninety nine million nine hundred ninety nine thousand nine hundred ninety nine United States dollars, ninety nine cents

// PL EXTENSION
$pl = new tei187\Slownie\PL("12345.31", 'pln');  // (PL)
echo $pl->output();                            // outputs: dwanaście tysięcy trzysta czterdzieści pięć złotych, trzydzieści jeden groszy
echo $pl->output("999999999.99", 'usd');         // outputs: dziewięćset dziewięćdziesiąt dziewięć milionów dziewięćset dziewięćdziesiąt dziewięć tysięcy dziewięćset dziewięćdziesiąt dziewięć dolarów amerykańskich, dziewięćdziesiąt dziewięć centów

扩展

分数表示法

根据使用情况,有时不必使用分数货币的全字表示法,而可以使用实际的分数转录。在这种情况下,您可以使用 setFractions(true)

// EN Extension
$en = new tei187\Slownie\EN("123.45", 'usd'); // meaning the amount of 123.45 USD (EN)
echo $en->output();                         // outputs: one hundred twenty three United States dollars, forty five cents
echo $en->setFractions(true)->output();     // outputs: one hundred twenty three United States dollars 45/100
// PL Extension
$pl = new tei187\Slownie\PL("123.45", 'usd'); // meaning the amount of 123.45 USD (PL)
echo $pl->output();                         // outputs: sto dwadzieścia trzy dolary amerykańskie, czterdzieści pięć centów
echo $pl->setFractions(true)->output();     // outputs: sto dwadzieścia trzy dolary amerykańskie 45/100

使用ISO 4217数字

货币可以作为ISO 4217货币代码和ISO 4217货币数字传递。

// EN EXTENSION
$en = new tei187\Slownie\EN("5.51");      // (EN)
echo $en->setCurrency("bob")->output(); // outputs: five bolivianos, fifty one centavos
echo $en->setCurrency("068")->output(); // outputs: five bolivianos, fifty one centavos
// PL EXTENSION
$pl = new tei187\Slownie\PL("5.51");      // (PL)
echo $pl->setCurrency("bob")->output(); // outputs: pięć boliviano, pięćdziesiąt jeden centavo
echo $pl->setCurrency("068")->output(); // outputs: pięć boliviano, pięćdziesiąt jeden centavo

支持的货币

要求

  • PHP >= 7.3
  • (可选) Composer >= 2.0

链接

作者