这是代码:
.onLoad <- function(libname, pkgname) {
}
.registerColors <- function(){
C.1 <<- c("#FF0000FF", "#80FF00FF", "#00FFFFFF", "#8000FFFF")
C.2 <<- c("#00AAFFFF", "#0000FFFF", "#AA00FFFF", "#FF00AAFF")
}
.onUnload <- function(libpath){
}
.onAttach <- function(libname, pkgname) {
.registerColors()
packageStartupMessage("Welcome to XYZ")
}
.onDetach <- function(libname, pkgname) {
rm(C.1, C.2, pos = 1)
packageStartupMessage("Buh-bye")
}
你们知道发生了什么吗?
提前致谢!
答案 0 :(得分:3)
条件顺序很重要:
function numFormatter(num){
if (num >= 1000000) {
num = (num/1000000).toFixed(1) + "m";
} else if (num >= 1000) {
num = (num/1000).toFixed(1) + "K";
}
return num;
}
答案 1 :(得分:0)
Else if
仅在if
没有时触发。您可能希望您的条件顺序相反。
var yolo = 1000000;
function numFormatter(num){
if (num >= 1000000) {
num = (num/1000000).toFixed(1) + "m";
} else if (num >= 1000 ) {
num = (num/1000).toFixed(1) + "K";
}
return num;
}
console.log(numFormatter(yolo));
答案 2 :(得分:0)
进入if,因为1000000大于1000,然后停止。 if / else if / else条件只会进入它匹配的第一个块。如果你想让它进入两者,你需要两个单独的if语句,如下所示:
var yolo = 1000000;
function numFormatter(num){
if (num >= 1000) {
num = (num/1000).toFixed(1) + "K";
}
if (num >= 1000000) {
num = (num/1000000).toFixed(1) + "m";
}
return num;
}
console.log(numFormatter(yolo));
它只会经历匹配的第一个条件。