Estoy comparando dos cadenas con una moneda que parece ser la misma. Uno se crea con toLocaleString() y el otro declarando una cadena estática. Ambos muestran el mismo valor en la consola, pero todos los métodos de comparación fallan para ellos.
¿Alguna idea de por qué esto no funciona? ¡Esto me está volviendo loco! No estoy seguro si es el símbolo del euro...
const localStringValue = (2).toLocaleString('de', {style: 'currency', maximumFractionDigits: 2, currency: 'EUR'}); const stringValue = '2,00 €'; console.log('local string: ', localStringValue); console.log('string: ', stringValue); console.log('strict compare', localStringValue === stringValue); console.log('compare', localStringValue == stringValue); console.log('locale compare', localStringValue.localeCompare(stringValue));El valor y la moneda están separados por un espacio continuo en localStringValue , pero en stringValue es un espacio normal.
const localStringValue = (2).toLocaleString('de', { style: 'currency', maximumFractionDigits: 2, currency: 'EUR' }); const stringValue = '2,00 €'; console.log('local string: ', localStringValue, encodeURIComponent(localStringValue)); console.log(' string: ', stringValue, encodeURIComponent(stringValue));