我想在java中截断一个float和一个double值.
以下是我的要求:1.如果我有12.49688f,它应该打印为12.49而不会四舍五入2.如果它是12.456的双倍,它应该打印为12.45而不会四舍五入3.无论如何,如果值是这样的话12.0,应仅打印为12.
条件3应始终牢记在心.它应与截断逻辑并发.
我想知道是否有一个插件可以实现一种智能截断.我需要用一个单词或一个句子的精度来截断我的文本.
例如:
Post.my_message.smart_truncate(
"Once upon a time in a world far far away. And they found that many people
were sleeping better.", :sentences => 1)
# => Once upon a time in a world far far away.
Run Code Online (Sandbox Code Playgroud)
要么
Post.my_message.smart_truncate(
"Once upon a time in a world far far away. And they found that many people
were sleeping better.", :words => 12)
# => Once upon a time in a world far far away. And they ...
Run Code Online (Sandbox Code Playgroud) JavaScript是否有一种截断HTML文本的方法,而没有匹配标记等所有令人头疼的问题?
谢谢.
我有很长的描述,我想截断使用truncate helper.所以我使用:
truncate article.description, :length => 200, :omission => ' ...'
Run Code Online (Sandbox Code Playgroud)
问题是我想使用更多作为可点击链接,所以理论上我可以使用这个:
truncate article.description, :length => 200, :omission => "... #{link_to('[more]', articles_path(article)}"
Run Code Online (Sandbox Code Playgroud)
遗漏文本被处理为不安全,因此它被转义.我试图让它成为html_safe但它没有用,而不是链接[更多]我的浏览器仍然显示该链接的html.
有没有办法强制截断打印遗漏链接而不是遗漏文本?
我正在尝试HTML5文件API,我需要使用一种我不太了解的方法(仅仅因为它几乎没有记录在任何地方).
我在谈论FileWriter truncate()方法,我知道它做了我需要做的事情.基本上,不是将文本附加到某些文件数据或使用seek()来覆盖某个部分,我想用其他东西覆盖所有数据(例如从"somedata"到"").
这是HTML5Rocks中的FileWriter设置片段,其中添加了truncate().
function onInitFs(fs) {
fs.root.getFile('log.txt', {create: false}, function(fileEntry) {
// Create a FileWriter object for our FileEntry (log.txt).
fileEntry.createWriter(function(fileWriter) {
fileWriter.seek(fileWriter.length); // Start write position at EOF.
fileWriter.truncate(1);
// Create a new Blob and write it to log.txt.
var bb = new BlobBuilder(); // Note: window.WebKitBlobBuilder in Chrome 12.
bb.append('Hello World');
fileWriter.write(bb.getBlob('text/plain'));
}, errorHandler);
}, errorHandler);
}
window.requestFileSystem(window.PERSISTENT, 1024*1024, onInitFs, errorHandler);
Run Code Online (Sandbox Code Playgroud)
当它调用writer.truncate()时,调用writer.write()会引发File Exception错误.我相信这是因为readyState设置为WRITING.不幸的是,我不知道如何解决这个问题.
我已经试过翻翻的HTML5Rocks节上这一点,但它并没有告诉我任何关于截断()方法(虽然我知道它是什么的Webkit JS控制台告诉我存在).
长话短说,我怎么能正确使用truncate()方法而不会出错?
我想出了这个函数,它将给定的字符串截断为给定数量的单词或给定数量的字符,无论是更短的.然后,在字符数或字数限制之后切断所有内容后,它会在字符串后附加一个"...".
如何从字符串中间删除字符/单词并用'...'替换它们而不是用'...'替换末尾的字符/单词?
这是我的代码:
function truncate($input, $maxWords, $maxChars){
$words = preg_split('/\s+/', $input);
$words = array_slice($words, 0, $maxWords);
$words = array_reverse($words);
$chars = 0;
$truncated = array();
while(count($words) > 0)
{
$fragment = trim(array_pop($words));
$chars += strlen($fragment);
if($chars > $maxChars){
if(!$truncated){
$truncated[]=substr($fragment, 0, $maxChars - $chars);
}
break;
}
$truncated[] = $fragment;
}
$result = implode($truncated, ' ');
return $result . ($input == $result ? '' : '...');
}
Run Code Online (Sandbox Code Playgroud)
例如,如果truncate('the quick brown fox jumps over the lazy dog', 8, 16);被调用,则16个字符更短,因此将发生截断.因此,'狐狸跳过懒狗'将被删除,'...'将被追加. …
在postgres 9.2(CentOS)中,TRUNCATE TABLE命令偶尔需要很长时间才能运行.有一次,截断一个有100K记录的表需要1.5个多小时,在其他情况下甚至更长.当我使用pgAdmin截断表时也会发生此问题.可能的原因是什么?以及如何提高截断性能?
服务器上有16GB内存,shared_buffers = 1536MB
主要是当我们缩短/截断文本内容时,我们通常只是在特定字符索引处截断它.无论如何,HTML已经很复杂,但我想div使用不同的措施截断我的HTML内容(使用内容可编辑生成):
N将用作截断起始点限制的字符索引N字符长(仅文本;不计算标签); 如果不是,它将只返回整个内容N-X到N+X字符位置(文字只)并搜索块的节点的端部; X是预定义的偏移值,可能N/5是N/4;NN并在该位置截断的索引.我的内容可编辑生成的内容可能包含段落(带换行符),预先格式化的代码块,块引号,有序和无序列表,标题,粗体和斜体(它们是内联节点,不应计入截断过程)等.实现当然会定义哪些元素特别是可能的截断候选者.标题即使它们是块HTML元素也不会被视为截断点,因为我们不需要寡居标题.段落,列出单个项目,整个有序和无序列表,块引号,预格式化块,无效元素等都是好的.标题和所有内联块元素都不是.
让我们把这个stackoverflow问题作为我想要截断的HTML内容的一个例子.我们将截断限制设置为1000,偏移量为250个字符(1/4).
此DotNetFiddle显示此问题的文本,同时还在其中添加限制标记(|MIN|表示字符750,|LIMIT|表示字符1000 |MAX|,表示字符1250).
从示例中可以看出,两个块节点与字符1000之间最接近的截断边界在</OL>和之间P(我的内容可编辑生成...).这意味着我的HTML应该在这两个标记之间被截断,这将导致内容文本明智地少于1000个字符,但保持截断的内容有意义,因为它不会在某些文本段落的某个地方截断.
我希望这能解释事情应该如何与这个算法相关.
我在这里看到的第一个问题是我正在处理像HTML这样的嵌套结构.我还必须检测不同的元素(只有块元素,没有内联元素).最后但并非最不重要的是,我将只计算字符串中的某些字符并忽略那些属于标记的字符.
N并转换回HTML如何处理这种截断算法?我的头似乎太累了,无法达成共识(或解决方案).
Alter table merry_parents change mobile mobile char(10).
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我收到错误:
#1265 - 第2行的"移动"列截断数据
如何将我的移动字段截断为char(10)?目前它是char(12).
我试图找到一个函数,它将提取字符串中某个位置的字符.例如,我有一个长文件名,其中包含日期,我想最终只有日期:
'LT50420331984221PAC00_B7.tif'
Run Code Online (Sandbox Code Playgroud)
我只想要"1984221"部分.我想出了一个复杂的功能,但想知道是否有更优雅的解决方案.