Introdução
O Sistema Internacional de Unidades é um sistema de medição em todo o mundo, exceto em alguns países, incluindo os EUA . O sistema SI (ou sistema métrico) é baseado em potências de dez, listadas abaixo (observe que esta é uma tabela incompleta):
femto(f) pico(p) nano(n) micro(μ) milli(m) centi(c) (base unit) hecto(h) kilo(k) mega(M) giga(G) tera(T) peta(P)
10^-15 10^-12 10^-9 10^-6 10^-3 10^-2 10^0 10^2 10^3 10^6 10^9 10^12 10^15
Seu trabalho será tomar uma dessas medidas e convertê-la em outra.
Entrada
A entrada será um número decimal 10^-16 < x < 2^31 - 1
, um prefixo de SI, uma letra representando uma quantidade, outro prefixo de SI para o qual converter e a mesma letra de quantidade. A entrada estará no formato 1234.56 mC to TC
e sempre corresponderá ao regex ^\d+(\.\d+)? [fpnμmchkMGTP](?'letter'[a-zA-Z]) to [fpnμmchkMGTP](?P=letter)$
. Você nunca precisará converter de / para a unidade base ( 10^0
)
Resultado
A saída será o mesmo número da entrada, apenas convertida em um novo prefixo SI. Especificamente, o programa deve converter o número de SI prefix 1
para SI prefix 2
na entrada. Exemplos:
Input: 1 nm to μm
Output: 0.001
Input: 82 kC to cC
Output: 8200000
Input: 6.54 MK to hK
Output: 65400
Input: 2000 MB to GB
Output: 2
Isso é código-golfe , então o código mais curto em bytes vence!
U+00B5 MICRO SIGN
ou U+03BC GREEK SMALL LETTER MU
? Podemos escolher um ou temos que apoiar um ou ambos?
1 PB to fB