¿Cómo corto/corto/recorto el último carácter de una cadena usando Javascript?
Tengo una cadena 12345.00
y me gustaría que regresara 12345.0
.
Lo he mirado trim
, pero parece que solo está recortando espacios en blanco y slice
no veo cómo funcionaría. ¿Alguna sugerencia?
Puedes usar la función de subcadena :
let str = "12345.00";
str = str.substring(0, str.length - 1);
console.log(str);
Esta es la respuesta aceptada, pero según las conversaciones siguientes, la sintaxis del segmento es mucho más clara:
let str = "12345.00";
str = str.slice(0, -1);
console.log(str);
¡ Puedes usar rebanadas ! Sólo debes asegurarte de saber cómo usarlo. Los # positivos son relativos al principio, los números negativos son relativos al final.
js>"12345.00".slice(0,-1)
12345.0
Puede utilizar el método de subcadena de objetos de cadena de JavaScript:
s = s.substring(0, s.length - 4)
Elimina incondicionalmente los últimos cuatro caracteres de la cadena s
.
Sin embargo, si desea eliminar condicionalmente los últimos cuatro caracteres, solo si son exactamente _bar
:
var re = /_bar$/;
s.replace(re, "");
El método más sencillo es utilizar el slice
método de la cadena, que permite posiciones negativas (correspondientes a desplazamientos desde el final de la cadena):
const s = "your string";
const withoutLastFourChars = s.slice(0, -4);
Si necesita algo más general para eliminar todo lo que está después (incluido) el último guión bajo, puede hacer lo siguiente (siempre que s
se garantice que contenga al menos un guión bajo):
const s = "your_string";
const withoutLastChunk = s.slice(0, s.lastIndexOf("_"));
console.log(withoutLastChunk);
Para un número como el de su ejemplo, recomendaría hacer esto de nuevo substring
:
console.log(parseFloat('12345.00').toFixed(1));
Tenga en cuenta que esto en realidad redondeará el número, lo que imagino que es deseado, pero tal vez no:
console.log(parseFloat('12345.46').toFixed(1));