Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Wiki TVenserio
Buscar
Buscar
Crear una cuenta
Acceder
Herramientas personales
Modo oscuro
Crear una cuenta
Acceder
Páginas para editores desconectados
más información
Contribuciones
Discusión
Edición de «
Módulo:Convertir
»
Módulo
Discusión
English
Leer
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Páginas especiales
Información de la página
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
local p = {} local es = mw.language.new('es') local elementoTabla = require('Módulo:Tablas').elemento local enlazar = require('Módulo:Wikidata/Formatos').enlazar local redondear = require('Módulo:Math')._round -- Constantes local unidades = { ['Q794261'] = { ['etiqueta'] = 'metro cúbico por segundo', ['abreviatura'] = 'm³/s', ['cambio unidad'] = { }, ['unidad SI'] = true, }, ['Q25343'] = { ['etiqueta'] = 'metro cuadrado', ['abreviatura'] = 'm²', ['cambio unidad'] = { {'Q712226', 1000000, '>'}, -- km² {'Q35852', 10000, '>'} -- ha }, ['unidad SI'] = true, }, ['Q712226'] = { ['etiqueta'] = 'kilómetro cuadrado', ['abreviatura'] = 'km²', ['conversionSI'] = { 1000000, 'Q25343'}, -- 1 km² = 1000 000 m² ['unidad SI'] = true, }, ['Q35852'] = { ['etiqueta'] = 'hectárea', ['abreviatura'] = 'ha', ['conversionSI'] = {10000, 'Q25343'}, -- 1 hectárea = 10.000 m² ['unidad SI'] = true, }, ['Q81292'] = { ['etiqueta'] = 'acre', ['enlace'] = 'acre (unidad de superficie)', ['plural'] = 'acres', ['conversionSI'] = { 4046.8564224, 'Q25343'} -- 1 acre = 4046,8564224 m² }, ['Q232291'] = { ['etiqueta'] = 'milla cuadrada', ['abreviatura'] = 'mi²', ['conversionSI'] = {2589988.110336, 'Q25343'} -- 1 milla cuadrada = 2 589 988,110336 m² }, -- Unidades de longitud ['Q11573'] = { ['etiqueta'] = 'metro', ['abreviatura'] = 'm', ['plural'] = 'metros', ['cambio unidad'] = { {'Q828224', 1000, '>'}, -- km }, ['unidad SI'] = true, }, ['Q1811'] = { ['etiqueta'] = 'unidad astronómica', ['abreviatura'] = 'ua', ['conversionSI'] = { 149597870691, 'Q11573'}, -- 1 unidad astronómica = 149 597 870 691 metros ['unidad SI'] = true, }, ['Q12129'] = { ['etiqueta'] = 'pársec', ['abreviatura'] = 'pc', ['conversionSI'] = {30856775814913672.7891393795779647161073192116040917980140401922770232921869992968698321353388065559933270120238005882778325, 'Q11573'}, ['unidad SI'] = true, }, ['Q531'] = { ['etiqueta'] = 'año luz', --['abreviatura'] = 'mi', ['plural'] = 'años luz', ['conversionSI'] = {9460730472580800 , 'Q11573'}, -- 1 año luz = 9460730472580800 m ['unidad SI'] = true, }, ['Q93318'] = { ['etiqueta'] = 'milla náutica', --['abreviatura'] = 'mi', ['plural'] = 'millas náuticas', ['conversionSI'] = {1852 , 'Q11573'}, -- 1 milla náutica = 1852 m --['unidad SI'] = true, }, ['Q253276'] = { ['etiqueta'] = 'milla', ['abreviatura'] = 'mi', ['conversionSI'] = {1609.344, 'Q11573'} -- 1 milla = 1609,344 m }, ['Q828224'] = { ['etiqueta'] = 'kilómetro', ['abreviatura'] = 'km', ['conversionSI'] = { 1000, 'Q11573'}, -- 1 kilómetro = 1000 metros ['unidad SI'] = true, }, ['Q3710'] = { ['etiqueta'] = 'pie', --['abreviatura'] = 'ft', ['plural'] = 'pies', ['conversionSI'] = {0.3048006, 'Q11573'}, -- 1 pie = 0,3048006 m ['enlace'] = 'pie (unidad)', }, ['Q218593'] = { ['etiqueta'] = 'pulgada', --['abreviatura'] = 'in', ['plural'] = 'pulgadas', ['conversionSI'] = {0.0254, 'Q11573'} -- 1 pulgada = 0,0254 m }, ['Q174728'] = { ['etiqueta'] = 'centímetro', ['abreviatura'] = 'cm', ['conversionSI'] = {0.01, 'Q11573'}, -- 1 centímetro = 0.01 m ['unidad SI'] = true, }, ['Q174789'] = { ['etiqueta'] = 'milímetro', ['abreviatura'] = 'mm', ['conversionSI'] = {0.001, 'Q11573'}, -- 1 milímetro = 0.001 m ['unidad SI'] = true, }, ['Q175821'] = { ['etiqueta'] = 'micrómetro', ['abreviatura'] = 'µm', ['conversionSI'] = {0.000001, 'Q11573'}, -- 1 micrómetro = 0.000001 m ['unidad SI'] = true, }, ['Q178674'] = { ['etiqueta'] = 'nanómetro', ['abreviatura'] = 'nm', ['conversionSI'] = {0.000000001, 'Q11573'}, -- 1 nanómetro = 0,000000001 m ['unidad SI'] = true, }, -- Unidades de masa ['Q11570'] = { ['etiqueta'] = 'kilogramo', ['abreviatura'] = 'kg', ['plural'] = 'kilogramos', --['cambio unidad'] = { -- {'Q828224', 1000, '>'}, -- km --}, ['unidad SI'] = true, }, } local function formatearMagnitud(cantidad, unidad, opciones) if not unidadConversion and unidad['cambio unidad'] then for k, v in pairs( unidad['cambio unidad'] ) do if cantidad >= v[2] then return formatearMagnitud(cantidad / v[2], unidades[v[1]], opciones) end end end --if true then return require('Módulo:Tablas').tostring(opciones) end local precision = opciones['precisión'] or 2 unidad.enlace = unidad.enlace or unidad.etiqueta --if true then return require('Módulo:Tablas').tostring(opciones) end -- Redondear a dos decimales, formatear y añadir la unidad enlazada en su caso if unidad.abreviatura then return es:formatNum(redondear(cantidad, precision)) .. ' ' .. enlazar(unidad.enlace, unidad.abreviatura, nil, opciones) elseif cantidad == 1 or not unidad.plural then return es:formatNum(redondear(cantidad, precision)) .. ' ' .. enlazar(unidad.enlace, unidad.etiqueta, nil, opciones) else return es:formatNum(redondear(cantidad, precision)) .. ' ' .. enlazar(unidad.enlace, unidad.plural, nil, opciones) end end function p.mostrarValor(valor, unidadOriginal, opciones) if not valor then return end if not unidadOriginal then return valor end opciones = opciones or {} --if true then return valor end local datosUnidadOriginal = unidades[unidadOriginal] if not datosUnidadOriginal then datosUnidadOriginal = {} local entidad = mw.wikibase.getEntityObject(unidadOriginal) --if true then return require('Módulo:Tablas').tostring(entidad) end datosUnidadOriginal.etiqueta = elementoTabla(entidad, 'labels', 'es', 'value') datosUnidadOriginal.enlace = elementoTabla(entidad, 'sitelinks', 'eswiki', 'title') datosUnidadOriginal.conversionSI = { [1]=tonumber((elementoTabla(entidad,'claims','P2370',1,'mainsnak','datavalue','value','amount'):gsub('+','') or '')) , [2]=elementoTabla(entidad,'claims','P2370',1,'mainsnak','datavalue','value','unit'):gsub('^.-/(Q%d+)$', '%1') } --if true then return require('Módulo:Tablas').tostring(datosUnidadOriginal) end end --if true then return require('Módulo:Tablas').tostring(opciones) end local conversionSI = datosUnidadOriginal.conversionSI if opciones.unidadConversion and opciones.unidadConversion ~= '' then elseif not conversionSI then return formatearMagnitud(tonumber(valor), datosUnidadOriginal, opciones) elseif conversionSI and datosUnidadOriginal['unidad SI'] then return formatearMagnitud(tonumber(valor) * conversionSI[1], unidades[conversionSI[2]], opciones) else return formatearMagnitud(tonumber(valor), datosUnidadOriginal, opciones) .. ' (' .. formatearMagnitud(tonumber(valor) * conversionSI[1], unidades[conversionSI[2]], opciones) .. ')' end end function p.mostrar(frame) local args = frame.args return p.mostrarValor(args[1], args[2], {unidadConversion=args[3], ['precisión']=args[4], disp=args.disp,enlace=args.enlace}) end return p
Resumen:
Ten en cuenta que todas las contribuciones a Wiki TVenserio pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase
Wiki TVenserio:Derechos de autor
para más detalles).
¡No uses textos con copyright sin permiso!
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Plantilla usada en esta página:
Módulo:Convertir/doc
(
editar
)
Activar o desactivar el límite de anchura del contenido