#将计算得到的电容容值a转换成E12电容容值表格
#输入为str格式:33nf
import numpy as np
def get_value(a):
#100pf-1nf-10nf-100nf-1uf
# 电容容值浮点数
C_value=np.array([1.0e-10, 1.2e-10, 1.5e-10, 1.8e-10, 2.2e-10, 2.7e-10, 3.3e-10,3.9e-10, 4.7e-10, 5.6e-10, 6.8e-10, 8.2e-10,
1.0e-09, 1.2e-09, 1.5e-09, 1.8e-09, 2.2e-09, 2.7e-09, 3.3e-09,3.9e-09, 4.7e-09, 5.6e-09, 6.8e-09, 8.2e-09,
1.0e-08, 1.2e-08, 1.5e-08, 1.8e-08, 2.2e-08, 2.7e-08, 3.3e-08,3.9e-08, 4.7e-08, 5.6e-08, 6.8e-08, 8.2e-08,
1.0e-07, 1.2e-07, 1.5e-07, 1.8e-07, 2.2e-07, 2.7e-07, 3.3e-07,3.9e-07, 4.7e-07, 5.6e-07, 6.8e-07, 8.2e-07,
1.0e-06, 1.2e-06, 1.5e-06, 1.8e-06, 2.2e-06, 2.7e-06, 3.3e-06,3.9e-06, 4.7e-06, 5.6e-06, 6.8e-06, 8.2e-06])
D_value=abs(a-C_value)
pos = np.where(D_value == D_value.min())
# E12系列电容容值标准
C_valueMap=['100p', '120p', '150p', '180p', '220p', '270p', '330p', '390p', '470p', '560p', '680p','820p',
'1n', '1.2n', '1.5n', '1.8n', '2.2n', '2.7n', '3.3n', '3.9n', '4.7n', '5.6n', '6.8n','8.2n',
'10n', '12n', '15n', '18n', '22n', '27n', '33n', '39n', '47n', '56n', '68n','82n',
'100n', '120n', '150n', '180n', '220n', '270n', '330n', '390n', '470n', '560n', '680n', '820n',
'1u', '1.2u', '1.5u', '1.8u', '2.2u', '2.7u', '3.3u', '3.9u', '4.7u', '5.6u', '6.8u','8.2u']
return C_valueMap[pos[0][0]]
def get_double_value(a):
#100pf-1nf-10nf-100nf-1uf
# 电容容值浮点数
C_value=np.array([1.0e-10, 1.2e-10, 1.5e-10, 1.8e-10, 2.2e-10, 2.7e-10, 3.3e-10,3.9e-10, 4.7e-10, 5.6e-10, 6.8e-10, 8.2e-10,
1.0e-09, 1.2e-09, 1.5e-09, 1.8e-09, 2.2e-09, 2.7e-09, 3.3e-09,3.9e-09, 4.7e-09, 5.6e-09, 6.8e-09, 8.2e-09,
1.0e-08, 1.2e-08, 1.5e-08, 1.8e-08, 2.2e-08, 2.7e-08, 3.3e-08,3.9e-08, 4.7e-08, 5.6e-08, 6.8e-08, 8.2e-08,
1.0e-07, 1.2e-07, 1.5e-07, 1.8e-07, 2.2e-07, 2.7e-07, 3.3e-07,3.9e-07, 4.7e-07, 5.6e-07, 6.8e-07, 8.2e-07,
1.0e-06, 1.2e-06, 1.5e-06, 1.8e-06, 2.2e-06, 2.7e-06, 3.3e-06,3.9e-06, 4.7e-06, 5.6e-06, 6.8e-06, 8.2e-06])
D_value=abs(a*2-C_value)
pos = np.where(D_value == D_value.min())
# E12系列电容容值标准
C_valueMap=['100p', '120p', '150p', '180p', '220p', '270p', '330p', '390p', '470p', '560p', '680p','820p',
'1n', '1.2n', '1.5n', '1.8n', '2.2n', '2.7n', '3.3n', '3.9n', '4.7n', '5.6n', '6.8n','8.2n',
'10n', '12n', '15n', '18n', '22n', '27n', '33n', '39n', '47n', '56n', '68n','82n',
'100n', '120n', '150n', '180n', '220n', '270n', '330n', '390n', '470n', '560n', '680n', '820n',
'1u', '1.2u', '1.5u', '1.8u', '2.2u', '2.7u', '3.3u', '3.9u', '4.7u', '5.6u', '6.8u','8.2u']
return C_valueMap[pos[0][0]]