Skip to content

Conversation

@stmtk1
Copy link

@stmtk1 stmtk1 commented Nov 13, 2020

what I did

@stmtk1 stmtk1 changed the title fix(toNumber): fix issue #2598 and add test WIP fix(toNumber): fix issue #2598 and add test Nov 13, 2020
@dsonet
Copy link
Contributor

dsonet commented Nov 13, 2020

Do not think toNumber should return a value other than a number, it should be a number or NaN.

Copy link
Contributor

@Alanscut Alanscut left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

test failed, '3.14aa'.match(/\d+(\.\d+)?/) is true.


export const toNumber = (val: any): any => {
if (typeof val === 'string') {
const matched = val.match(/\d+(\.\d+)?/)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
const matched = val.match(/\d+(\.\d+)?/)
const matched = val.match(/^\d+(\.\d+)?$/)

@yyx990803 yyx990803 closed this in 7d0c63f Nov 14, 2022
chrislone pushed a commit to chrislone/core that referenced this pull request Feb 4, 2023
close vuejs#4946
close vuejs#2598
close vuejs#2604

This commit also refactors internal usage of previous loose
implementation of `toNumber` to the stricter version where applicable.
Use of `looseToNumber` is preserved for `v-model.number` modifier to
ensure backwards compatibility and consistency with Vue 2 behavior.
zhangzhonghe pushed a commit to zhangzhonghe/core that referenced this pull request Apr 12, 2023
close vuejs#4946
close vuejs#2598
close vuejs#2604

This commit also refactors internal usage of previous loose
implementation of `toNumber` to the stricter version where applicable.
Use of `looseToNumber` is preserved for `v-model.number` modifier to
ensure backwards compatibility and consistency with Vue 2 behavior.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

toNumber is lenient

3 participants