prashant31191 / MVPKotlin_Commonlib

KotlinMvp一套完整的数字货币与法币汇率转换以及货币符号匹配展示规则demo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

本demo纯学习之用 不可作为任何商业用途

一套完整的数字货币与法币汇率转换以及货币符号匹配展示规则demo

KotlinMvp 纯demo 无杂质 的MVP基础框架

1. 法币价格数据展示规则

  • x >= 1000 0 0000 无小数 //容错,暂时没有可能发生
  • 100 <= x < 1000 0 0000 2位小数 //例:$12345.12
  • 0.1<= x < 100 4小数 //例:$0.1234
  • 0.0001 <= x < 0.1 6位小数 //例:$0.001234
  • 0.00000001 <= x < 0.0001 8位小数 //例:$0.00001234
  • x < 0.00000001 展示为0 //容错,暂时没有可能发生
  • 没有数据时用"--"表示,有货币符号的数据不要带货币符号 //例:--
  • 小数直接截断不4舍5入,小数点末位为0的不省略 //例:$54321.10
  • 小数点全部为0的,隐藏 //例:$54321



2. 非法币价格数据展示规则

  • x >= 1000 0 0000 无小数 //容错,暂时没有可能发生
  • 1000 <= x < 100000000 4位小数 //例:12345.1234 Ht
  • 0.0001 <= x < 1000 6位小数 //例: 12.123456 Eth
  • 0.000001<= x < 0.0001 8位小数 //例: ฿0.00001234
  • 0.0000000001 <= x < 0.000001 10位小数 //例:฿0.0000001234
  • x < 0.0000000001 展示为0 //容错,暂时没有可能发生
  • 没有数据时用"--"表示,有货币符号的数据不要带货币符号 //例:--
  • 小数直接截断不4舍5入,小数点末位为0的不省略 //例:0.0123400 Eth
  • 小数点全部为0的,隐藏 //例:4321 Eth
  • 币作为单位时,前面留一个空格 //例:1.2345 Eth
  • 币作为单位时,第一位字母大写,后面都是小写 //例: 1.2345 Eth



3. 涨跌幅百分比(+/-x%)数据展示规则

  • x >= 10000 无小数点 //容错,小机率发生
  • 0.01 <= x < 10000 保留2位小数
  • x < 0.01 展示为0
  • *没有数据时用"--"表示 //例:--
  • *x=0时展示“0.00%”, 不展示"+/-"符号 //例:0.00%
  • 小数直接截断不4舍5入,小数点末位为0的不省略 //例:12.10%
  • 小数点全部为0的,展示 //例:12.00%

*在旧版中,返回数据不能辨别x=0与没有数据,如果还是不能解决,按x=0处理,web端展示为"0%",客户端为”0.00%“。



4. 基数词头的适配规则

  • 万 104 //默认>=105 时适配,法币价格>=106 时才适配
  • 亿 108
  • 万亿 1012 //国标;台,韩,日标准中称为“兆”
  • 支持基数词头适配的字段: 流通市值 | 流通数量 | 成交额 | 总市值 | 法币价格
  • 基数词头适配后,保留2位小数 //例:123.12万
  • 小数直接截断不4舍5入,小数点末位为0的不省略 //例:123.10万
  • 小数点全部为0的,隐藏 //例:123万



5. 基数的三位逗号分隔符的适配规则

  • *在简体中文语境下,没有适配基数词头的数字不采用三位逗号分隔。//例:54321; 5,432.12万
  • 在简体中文语境下,非行情数据展示的数字不采用逗号分隔。//例:阅读数 54321;关注数 5432.12万

*行情数据在其它非简体中文语境中,采用三位逗号分隔机制



6. 陆,港,台,日,韩,英文的基数词头的规范

NUM CN HK TW JP KR EN
104 1万 1萬 1萬 1万 1만 10K,1K=103
108 1亿 1億 1億 1億 1억 100M,1M=106
1012 1万亿 1萬億 1兆 1兆 1조 1000B,1B=109



7. 货币选顶中的货币符号

代码 货币 符号 范例
xn5

*除ETH,BTC外,其它适用法币展示规则



8. 交易对中的其它法币符号

  • 约等于法币价值的稳定代币, 可以使用法币符号替代,适用法币数据展示规则
代码 货币 对应法币 可替代符号
BITCNY 比特元 人民币 ¥
CNYT 未知 人民币 ¥
CNH 离岸人民币 人民币 ¥
BITEUR 未知 欧元
BITUSD 未知 美元 $
CK.USD 未知 美元 $
CKUSD 未知 美元 $
USDT 泰达币 美元 $
GUSD 双子星美元 美元 $
TUSD 未知 美元 $
USDC 未知 美元 $
PAX 未知 美元 $
  • 交易对中的其它法币符号,适用法币数据展示规则
代码 货币 符号 范例
CLP 智利比索 CLP CLP100
COP 哥伦比亚比索 Col$ Col$100
ILS 以色列新谢克尔 ₪100
ISK 冰岛克郎 kr kr100
MYR 马元 RM RM100
NGN 尼日利亚奈拉 ₦100
NZD 新西兰元 NZ$ NZ$100
PEN 秘鲁新索尔 S/. S/.100
PHP 菲律宾比索 ₱100
PLN 波兰兹罗提 zł100
SGD 新加坡元 SG$ SG$100
THB 泰铢* ฿ ฿100
TRY 土耳其里拉 ₺100
UAH 乌克兰格里夫纳 ₴100
VND 越南盾 ₫100
ZAR 南非兰特 R R100

*比特币货币符号฿是借用泰铢法币符号,会与泰铢符号产生岐义,泰铁符号使用"T฿"来区分。

  • 主价格为可切换的价格 (当前价格切换中的货币见“条目7”)
  • 副价格为原价 (全球指数默认是USD,交易对为平台价)
  • 当主,副价格为同一货币单位时,副价格展示为USD; 当同为USD时,副价格展示为CNY。(这条规则包含且不限于使用货币符号为单位的稳定代币)



10. 交易所数据请求统一的国家代码

代码 国家 EN TW HK JP
cn ** China 中國 中國 **
uk 英国 United Kingdom 英國 英國 イギリス
us 美国 United States 美國 美國 アメリカ
jp 日本 Japan 日本 日本 日本
kr 韩国 Korea 韓國 韓國 韓国
hk **香港 China Hong Kong 中國香港 中國香港 香港、**
pl 波兰 Poland 波蘭 波蘭 ポーランド
ca 加拿大 Canada 加拿大 加拿大 カナダ
au 澳洲 Australia 澳洲 澳洲 オーストラリア
th 泰国 Thailand 泰國 泰國 タイ
in 印度 India 印度 印度 インド
de 德国 Germany 德國 德國 ドイツ
ua 乌克兰 Ukraine 烏克蘭 烏克蘭 ウクライナ
nz 新西兰 new Zealand 紐西蘭 新西蘭 ニュージーランド
ru 俄罗斯 Russia 俄羅斯 俄羅斯 ロシア
dk 丹麦 Denmark 丹麥 丹麥 デンマーク
sc 塞舌尔 Seychelles 塞席爾 塞舌爾 セイシェル
nl 荷兰 Netherlands 荷蘭 荷蘭 オランダ
es 西班牙 Spain 西班牙 西班牙 スペイン
mv 马耳他 Malta 馬爾他 馬爾他 マルタ
tz 坦桑尼亚 Tanzania 坦尚尼亞 坦桑尼亞 タンザニア
mx 墨西哥 Mexico 墨西哥 墨西哥 メキシコ
ch 瑞士 Switzerland 瑞士 瑞士 スイス
br 巴西 Brazil 巴西 巴西 ブラジル
tr 土耳其 Turkey 土耳其 土耳其 トルコ
il 以色列 Israel 以色列 以色列 イスラエル
tw **** China Taiwan 台灣 中國台灣 **、**
hr 克罗地亚 Croatia 克羅埃西亞 克羅地亞 クロアチア
sg 新加坡 Singapore 新加坡 新加坡 シンガポール
cl 智利 Chile 智利 智利 チリ
ph 菲律宾 Philippines 菲律賓 菲律賓 フィリピン
za 南非 South Africa 南非 南非 南アフリカ
mn 蒙古国 Mongolia 蒙古 蒙古 モンゴル
ee 爱沙尼亚 Estonia 愛沙尼亞 愛沙尼亞 エストニア
jo 约旦 Jordan 約旦 約旦 ヨルダン
it 意大利 Italy 義大利 意大利 イタリア
vn 越南 Vietnam 越南 越南 ベトナム
ae 阿联酋 United Arab Emirates 阿聯 阿聯酋 アラブ首長国連邦
ky 开曼群岛 Cayman Islands 開曼群島 開曼群島 ケイマン諸島
my 马来西亚 Malaysia 馬來西亞 馬來西亞 マレーシア
ws 萨摩亚 Samoa 薩摩亞 薩摩亞 サモア
unknown 未知 unknown 未知 未知 不明

地域选项的命名一律不能称为“国家”,必须展示为“国家/地区”;
**地区命名必须使用“****”(**正体译文除外);

About

KotlinMvp一套完整的数字货币与法币汇率转换以及货币符号匹配展示规则demo


Languages

Language:Kotlin 54.0%Language:Java 46.0%