Каковы альтернативы для комбинации (графический различный инструмент) на [закрытом] OSX

value в input всегда является строкой, поэтому + заканчивается конкатенацией строк ("10" + "10" is "1010", в отличие от 10 + 10, который является 20).

Если вы используете input type="number" (OP нет, но другие могут найти этот ответ), и браузер поддерживает их, вы можете использовать valueAsNumber :

var onerepmax = document.wodCalculate.oneRepMax.valueAsNumber;

Если вы используете type="text" или браузер не поддерживает valueAsNumber:

Вы можете преобразовать пользовательские значения ввода с помощью parseInt(value, 10) (10 = decimal, base 10), если они предназначены для целых чисел, например:

var onerepmax = parseInt(document.wodCalculate.oneRepMax.value, 10);

Это всего лишь один вариант, однако у вас есть несколько:

  • Унарный Оператор +: value = +value будет принуждать строку к числу, используя для этого стандартные правила JavaScript. Число может иметь дробную часть (например, +"1.50" - 1.5). Результат нечетности строки (кроме e для научной нотации) дает результат NaN. Кроме того, +"" - 0, что может быть неинтуитивным.
    var onerepmax = +document.wodCalculate.oneRepMax.value;
    
  • Функция Number: value = Number(value). Делает то же, что и +.
    var onerepmax = Number(document.wodCalculate.oneRepMax.value);
    
  • Функция parseInt, обычно с основанием (номер базы): value = parseInt(value, 10). Недостатком здесь является то, что parseInt преобразует любое число, которое он находит в начале строки, но затем игнорирует нецифровые символы в строке, поэтому parseInt("100asdf", 10) - 100, а не NaN. Как следует из названия, parseInt анализирует только целое число.
    // (Same as the first one above)
    var onerepmax = parseInt(document.wodCalculate.oneRepMax.value, 10);
    
  • Функция parseFloat: value = parseFloat(value). Позволяет дробные значения и всегда работает в десятичном (никогда не восьмеричном или шестнадцатеричном). То же самое делает parseInt с мусором в конце строки, parseFloat("123.34alksdjf") - 123.34.
    var onerepmax = parseFloat(document.wodCalculate.oneRepMax.value);
    

Итак, выберите свой инструмент в соответствии с вашим прецедентом. : -)

43
задан Johan 23 October 2008 в 20:49
поделиться

7 ответов

FileMerge Apple (который включен в их загрузка Инструментов Разработчика ) взгляды, подобные для Объединения , хотя я признаюсь в то, что не использовал также..

16
ответ дан Andrew 4 August 2019 в 18:17
поделиться

Sourcegear DiffMerge является свободным и абсолютно межплатформенным (Windows, Mac и Linux). Я только использовал версию Windows, и она испытывает недостаток еще в некоторых расширенных функциях (как подсветка синтаксиса и открывающийся .diff файлы), но я очень доволен ею.

9
ответ дан alastairs 4 August 2019 в 18:17
поделиться

Fink имеет пакет комбинации.

7
ответ дан dmckee 4 August 2019 в 18:17
поделиться

BBEdit имеет хорошее различное средство просмотра в нем.

2
ответ дан Ben Gottlieb 4 August 2019 в 18:17
поделиться

KDiff является кросс-платформенным, с открытым исходным кодом, и имеет двоичный файл OSX в наличии.

http://kdiff3.sourceforge.net/

7
ответ дан Brad Parks 4 August 2019 в 18:17
поделиться

Существует FileMerge.app, который идет с XCode.

Это может быть выполнено как отдельное автономное приложение:

enter image description here

34
ответ дан Renaud 4 August 2019 в 18:17
поделиться

Смотрите на Changes.app. Да, это для платы, но это очень способно, быстро, легко на глазах. Это также имеет инструмент командной строки. Смотрите на Wiki для подсказок и приемов, особенно с тем, чтобы заставлять его интегрироваться с системами управления версиями. Я люблю Changes.app.

3
ответ дан danimal 4 August 2019 в 18:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: